#!/bin/bash

port_N1=5431
port_N2=5432

echo '=========='
echo '=Clean up='
echo '=========='

pg_ctl stop -D data_primary
pg_ctl stop -D data_secondary

rm -r data_primary data_secondary primary.log secondary.log

echo '======================='
echo '=Set up primary server='
echo '======================='

initdb -D data_primary -U postgres

cat << EOF >> data_primary/postgresql.conf
listen_addresses = '*'
port = $port_N1
synchronous_commit = 'remote_apply'
EOF

cat << EOF >> data_primary/pg_hba.conf
host all,replication all 0.0.0.0/0 trust
EOF

pg_ctl -D data_primary start -w -l primary.log
psql -U postgres -p $port_N1 -c "CREATE TABLE tbl (id int primary key);"

echo '========================='
echo '=Set up secondary server='
echo '========================='


pg_basebackup -D data_secondary -U postgres -p $port_N1

cat << EOF >> data_secondary/postgresql.conf
port = $port_N2
recovery_min_apply_delay = 1d
primary_conninfo = 'user=postgres port=$port_N1 application_name=secondary'
hot_standby = on
EOF

cat << EOF >> data_secondary/standby.signal
EOF

cat << EOF >> data_primary/postgresql.conf
synchronous_standby_names = 'secondary'
EOF


pg_ctl -D data_primary   restart -w -l primary.log
pg_ctl -D data_secondary start   -w -l secondary.log
