#! /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