1
1
CURPATH=` pwd`
2
+ USER=` whoami`
2
3
BASEDIR=$CURPATH /../../..
3
4
export PATH=$BASEDIR /tmp_install/usr/local/pgsql/bin/:$PATH
4
5
export DESTDIR=$BASEDIR /tmp_install
5
6
6
- n_nodes=3
7
+ n_nodes=2
7
8
ulimit -c unlimited
8
9
pkill -9 postgres
9
10
@@ -13,21 +14,37 @@ make install
13
14
cd $BASEDIR /contrib/mmts
14
15
make clean && make install
15
16
17
+ cd $BASEDIR /contrib/referee
18
+ make clean && make install
19
+
16
20
cd $BASEDIR /contrib/mmts/tests
17
21
18
- rm -fr node? * .log
22
+ rm -rf referee node? * .log
23
+
24
+ # ##############################################################################
25
+
26
+ initdb referee
27
+ cat << SQL > referee/postgresql.conf
28
+ listen_addresses='*'
29
+ port = '5440'
30
+ SQL
31
+ pg_ctl -w -D referee -l referee.log start
32
+ createdb -p 5440
33
+ psql -p 5440 -c ' create extension referee'
34
+
35
+ # ##############################################################################
36
+
19
37
conn_str=" "
20
38
sep=" "
21
39
for (( i= 1 ;i<= n_nodes;i++ ))
22
40
do
23
41
port=$(( 5431 + i))
24
42
arbiter_port=$(( 7000 + i))
25
- conn_str=" $conn_str ${sep} dbname=regression user=stas host=127.0.0.1 port=$port arbiter_port=$arbiter_port sslmode=disable"
43
+ conn_str=" $conn_str ${sep} dbname=$USER host=127.0.0.1 port=$port arbiter_port=$arbiter_port sslmode=disable"
26
44
sep=" ,"
27
45
initdb node$i
28
46
pg_ctl -w -D node$i -l node$i .log start
29
- createdb regression
30
- # psql regression -c "create table t(id int primary key, v int); insert into t values($i,$i);"
47
+ createdb
31
48
pg_ctl -w -D node$i -l node$i .log stop
32
49
done
33
50
42
59
cat << SQL > node$i /postgresql.conf
43
60
listen_addresses='*'
44
61
port = '$port '
45
- max_prepared_transactions = 100
46
- synchronous_commit = on
62
+ max_prepared_transactions = 300
47
63
fsync = on
48
64
wal_level = logical
49
- max_worker_processes = 100
65
+ max_worker_processes = 300
50
66
max_replication_slots = 10
51
67
max_wal_senders = 10
52
68
shared_preload_libraries = 'multimaster'
53
- default_transaction_isolation = 'repeatable read'
69
+ wal_writer_delay = 5ms
54
70
55
- multimaster.workers = 1
56
71
multimaster.heartbeat_recv_timeout = 2000
57
72
multimaster.heartbeat_send_timeout = 250
58
- #multimaster.volkswagen_mode = 1
59
73
multimaster.conn_strings = '$conn_str '
60
74
multimaster.node_id = $i
61
- multimaster.max_nodes = 4
62
75
multimaster.arbiter_port = $arbiter_port
63
- multimaster.min_2pc_timeout = 10000000
64
- multimaster.trans_spill_threshold = 100
65
- multimaster.monotonic_sequences = true
76
+ multimaster.max_recovery_lag = 30GB
77
+ multimaster.referee_connstring = 'dbname=$USER host=127.0.0.1 port=5440 sslmode=disable'
66
78
SQL
67
79
cp pg_hba.conf node$i
68
80
pg_ctl -w -D node$i -l node$i .log start
69
81
done
70
82
71
83
sleep 10
72
- psql regression < regress.sql
84
+ psql < regress.sql
85
+ psql -c ' create extension multimaster'
73
86
74
87
echo Done
0 commit comments