#!/bin/bash
# set -e
echo 'Clean up'

pg_ctl stop -D data_N2
pg_ctl stop -D data_N1

rm -r data_* *log

echo 'Set up'

# Setup and start publisher
initdb -D data_N1 -U postgres

cat << EOF >> data_N1/postgresql.conf
wal_level = logical
logical_decoding_work_mem = 5GB
EOF
pg_ctl -D data_N1 start -w -l N1.log

initdb -D data_N2 -U postgres

cat << EOF >> data_N2/postgresql.conf
wal_level = logical
logical_decoding_work_mem = 5GB
port = 9000
EOF
pg_ctl -D data_N2 start -w -l N2.log

(
    echo -e "CREATE TABLE tab (id int);"
    echo -e "CREATE PUBLICATION pub;"
) | psql -U postgres

(
    echo -e "CREATE TABLE tab (id int);"
    echo -e "CREATE SUBSCRIPTION sub CONNECTION 'user=postgres' PUBLICATION pub WITH (synchronous_commit = 'remote_apply', streaming = off);"
) | psql -U postgres -p 9000

cat << EOF >> data_N1/postgresql.conf
synchronous_standby_name = 'sub'
EOF
pg_ctl -D data_N1 reload

