|
|
- #! /bin/bash
- if [ "$(whoami)" != "root" ]; then
- SUDO=sudo
- fi
- ${SUDO} apt install -y postgresql pwgen
-
- RAND_PASS=`pwgen -s1 16`
- POSTGRES_VERSION=`${SUDO} apt show postgresql | grep Version | cut -d" " -f2 | cut -d"+" -f1`
-
- read -p "Postgres replica ip: " -ei '' REPLICA_IP
- read -p "Postgres replica user: " -ei 'replica_user' REPLICA_USER
- read -p "Postgres replica password: " -ei "$RAND_PASS" REPLICA_PASS
- ${SUDO} echo $REPLICA_PASS > /usr/local/src/postgres_replica_password
- ${SUDO} echo "Password is stored in /usr/local/src/postgres_replica_password"
-
- sudo -u postgres pg_conftool set listen_addresses 0.0.0.0
- sudo -u postgres pg_conftool set log_destination syslog
- sudo -u postgres pg_conftool set max_wall_senders 3
- sudo -u postgres pg_conftool set wal_keep_size 1GB
- sudo -u postgres pg_conftool set wal_level replica
- sudo -u postgres pg_conftool set wal_log_hints on
-
- sudo -u postgres psql -c "CREATE USER '$REPLICA_USER' REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '$REPLICA_PASS';"
- ${SUDO} echo "host replication $REPLICA_USER $REPLICA_IP/24 trust" >> /etc/postgresql/$POSTGRES_VERSION/main/pg_hba.conf
-
- ${SUDO} systemctl restart postgresql
|