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 |
20 |
$dir/bin/SlaveInit master slave1 |
21 |
$dir/bin/MasterInit slave1 |
22 |
$dir/bin/SlaveInit slave1 slave2 |
23 |
|
24 |
psql -c "create table t1 (i int, t text, d timestamp default 'now');" master |
25 |
$dir/bin/MasterAddTable master t1 d |
26 |
|
27 |
psql -c "create table t1 (i int, t text, d timestamp default 'now');" slave1 |
28 |
$dir/bin/SlaveAddTable slave1 t1 d |
29 |
psql -c "create table t1 (i int, t text, d timestamp default 'now');" slave2 |
30 |
$dir/bin/SlaveAddTable slave2 t1 d |
31 |
|
32 |
psql -c "insert into t1 values (1, 'one');" master |
33 |
psql -c "insert into t1 values (2, 'two');" master |
34 |
|
35 |
$dir/bin/Replicate master slave1 |
36 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave1` |
37 |
$dir/bin/Replicate slave1 slave2 |
38 |
$dir/bin/MasterSync slave1 `$dir/bin/GetSyncID --noverbose slave2` |
39 |
|
40 |
psql -c "delete from t1 where i=1;" master |
41 |
psql -c "update t1 set t='two, updated' where i=2;" master |
42 |
psql -c "insert into t1 values (3, 'three');" master |
43 |
psql -c "insert into t1 values (4, 'four');" master |
44 |
|
45 |
$dir/bin/Replicate master slave1 |
46 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave1` |
47 |
$dir/bin/Replicate slave1 slave2 |
48 |
$dir/bin/MasterSync slave1 `$dir/bin/GetSyncID --noverbose slave2` |
49 |
|
50 |
psql -c "insert into t1 values (1, 'one-insert2');" master |
51 |
psql -c "delete from t1 where i=3;" master |
52 |
psql -c "insert into t1 values (3, 'three-insert2');" master |
53 |
psql -c "update t1 set t='four, updated' where i=4;" master |
54 |
|
55 |
$dir/bin/Replicate master slave1 |
56 |
$dir/bin/MasterSync master `$dir/bin/GetSyncID --noverbose slave1` |
57 |
$dir/bin/Replicate slave1 slave2 |
58 |
$dir/bin/MasterSync slave1 `$dir/bin/GetSyncID --noverbose slave2` |
59 |
|
60 |
if [ -e "$dir/bin/../pgdiff/pgdiff" ] ; then |
61 |
cd $dir/bin/../pgdiff |
62 |
./pgdiff -v master slave1 |
63 |
./pgdiff -v master slave2 |
64 |
fi |
65 |
|
66 |
exit |