1 |
# regress.sh |
2 |
# rserv regression test script |
3 |
# (c) 2000 Thomas Lockhart, PostgreSQL Inc. |
4 |
|
5 |
# This script will setup replication like: |
6 |
# master -> slave1 |
7 |
# slave1 -> slave2 |
8 |
|
9 |
dir="`dirname $0`/../" |
10 |
|
11 |
dropdb master |
12 |
dropdb slave1 |
13 |
dropdb slave2 |
14 |
|
15 |
createdb master || exit 1; |
16 |
createdb slave1 || exit 1; |
17 |
createdb slave2 || exit 1; |
18 |
|
19 |
$dir/bin/MasterInit master || exit 1 |
20 |
$dir/bin/SlaveInit master slave1 || exit 1 |
21 |
$dir/bin/MasterInit slave1 || exit 1 |
22 |
$dir/bin/SlaveInit slave1 slave2 || exit 1 |
23 |
|
24 |
psql -e -c "create table t1 (i int, t text, d timestamp default 'now');" master |
25 |
$dir/bin/MasterAddTable master t1 d || exit 1 |
26 |
|
27 |
psql -e -c "create table t1 (i int, t text, d timestamp default 'now');" slave1 |
28 |
$dir/bin/SlaveAddTable slave1 t1 d || exit 1 |
29 |
$dir/bin/MasterAddTable slave1 t1 d || exit 1 |
30 |
psql -e -c "create table t1 (i int, t text, d timestamp default 'now');" slave2 |
31 |
$dir/bin/SlaveAddTable slave2 t1 d || exit 1 |
32 |
|
33 |
psql -e -c "insert into t1 values (1, 'one');" master |
34 |
psql -e -c "insert into t1 values (2, 'two');" master |
35 |
|
36 |
$dir/bin/Replicate -v -d master slave1 || exit 1 |
37 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave1` || exit 1 |
38 |
$dir/bin/Replicate -v -d slave1 slave2 || exit 1 |
39 |
$dir/bin/MasterSync slave1 `$dir/bin/GetSyncID --noverbose slave2` || exit 1 |
40 |
|
41 |
psql -e -c "delete from t1 where i=1;" master |
42 |
psql -e -c "update t1 set t='two, updated' where i=2;" master |
43 |
psql -e -c "insert into t1 values (3, 'three');" master |
44 |
psql -e -c "insert into t1 values (4, 'four');" master |
45 |
|
46 |
$dir/bin/Replicate master slave1 || exit 1 |
47 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave1` || exit 1 |
48 |
$dir/bin/Replicate slave1 slave2 || exit 1 |
49 |
$dir/bin/MasterSync slave1 `$dir/bin/GetSyncID --noverbose slave2` || exit 1 |
50 |
|
51 |
psql -e -c "insert into t1 values (1, 'one-insert2');" master |
52 |
psql -e -c "delete from t1 where i=3;" master |
53 |
psql -e -c "insert into t1 values (3, 'three-insert2');" master |
54 |
psql -e -c "update t1 set t='four, updated' where i=4;" master |
55 |
|
56 |
$dir/bin/Replicate -v -d master slave1 || exit 1 |
57 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave1` || exit 1 |
58 |
$dir/bin/Replicate -v -d slave1 slave2 || exit 1 |
59 |
$dir/bin/MasterSync slave1 `$dir/bin/GetSyncID --noverbose slave2` || exit 1 |
60 |
|
61 |
if [ -e "$dir/bin/../pgdiff/pgdiff" ] ; then |
62 |
cd $dir/bin/../pgdiff |
63 |
./pgdiff -v master slave1 |
64 |
./pgdiff -v master slave2 |
65 |
fi |
66 |
|
67 |
exit |