#! /bin/sh export PGDATA1=/ext/horiguti/pgdata1 export PGDATA2=/ext/horiguti/pgdata2 echo Shutting down servers pg_ctl -D $PGDATA2 stop -m i pg_ctl -D $PGDATA1 stop -m i sleep 5 echo Remove old clusters rm -rf $PGDATA1 $PGDATA2 /tmp/hoge /tmp/hoge1 echo Creating master database cluster initdb -D $PGDATA1 --no-locale --encoding=utf8 cp ~/work_repl/mast_conf/* $PGDATA echo Starting master pg_ctl -D $PGDATA1 start sleep 5 echo Taking base backup for slave pg_basebackup -h /tmp -p 5432 -D $PGDATA2 -X stream cp ~/work_repl/repl_conf/* $PGDATA2 echo Done, starting slave pg_controldata $PGDATA2 > ~/control_01_before_slave_start pg_ctl -D $PGDATA2 start sleep 5 pg_controldata $PGDATA2 > ~/control_02_after_slave_start echo creating database. createdb $USER echo Proceeding WALS psql -h /tmp -p 5432 -c "create table foo (a text)"; psql -h /tmp -p 5432 -c "insert into foo (select repeat('abcde', 1000) from generate_series(1, 200000)); delete from foo;" psql -h /tmp -p 5432 -c "insert into foo (select repeat('ABCDE', 10) from generate_series(1, 2));" pg_controldata $PGDATA2 > ~/control_03_WAL_proceeded echo Promoting slave pg_ctl -D $PGDATA2 promote sleep 5 pg_controldata $PGDATA2 > ~/control_04_After_promoted echo "Killing PostgreSQL's without taking checkpoint" psql -h /tmp -p 5433 -c "insert into foo (select repeat('VWXYZ', 10) from generate_series(1, 2));" killall -9 postgres pg_controldata $PGDATA2 > ~/control_05_Killed_without_checkpoint rm -f /tmp/hoge /tmp/hoge1 echo DONE