@@ -6,37 +6,38 @@ An implementation of synchronous multi-master replication based on **logical dec
66
771 . Install ` contrib/raftable ` and ` contrib/mmts ` on each instance.
881 . Add these required options to the ` postgresql.conf ` of each instance in the cluster.
9- ``` sh
10- max_prepared_transactions = 200 # should be > 0, because all
11- # transactions are implicitly two-phase
12- max_connections = 200
13- max_worker_processes = 100 # at least (2 * n + p + 1)
14- # this figure is calculated as:
15- # 1 raftable worker
16- # n-1 receiver
17- # n-1 sender
18- # 1 mtm-sender
19- # 1 mtm-receiver
20- # p workers in the pool
21- max_parallel_degree = 0
22- wal_level = logical # multimaster is build on top of
23- # logical replication and will not work otherwise
24- max_wal_senders = 10 # at least the number of nodes
25- wal_sender_timeout = 0
26- default_transaction_isolation = ' repeatable read'
27- max_replication_slots = 10 # at least the number of nodes
28- shared_preload_libraries = ' raftable,multimaster'
29- multimaster.workers = 10
30- multimaster.queue_size = 10485760 # 10mb
31- multimaster.node_id = 1 # the 1-based index of the node in the cluster
32- multimaster.conn_strings = ' dbname=... host=....0.0.1 port=... raftport=..., ...'
33- # comma-separated list of connection strings
34- multimaster.use_raftable = true
35- multimaster.heartbeat_recv_timeout = 1000
36- multimaster.heartbeat_send_timeout = 250
37- multimaster.ignore_tables_without_pk = true
38- multimaster.twopc_min_timeout = 2000
39- ```
9+
10+ ``` sh
11+ max_prepared_transactions = 200 # should be > 0, because all
12+ # transactions are implicitly two-phase
13+ max_connections = 200
14+ max_worker_processes = 100 # at least (2 * n + p + 1)
15+ # this figure is calculated as:
16+ # 1 raftable worker
17+ # n-1 receiver
18+ # n-1 sender
19+ # 1 mtm-sender
20+ # 1 mtm-receiver
21+ # p workers in the pool
22+ max_parallel_degree = 0
23+ wal_level = logical # multimaster is build on top of
24+ # logical replication and will not work otherwise
25+ max_wal_senders = 10 # at least the number of nodes
26+ wal_sender_timeout = 0
27+ default_transaction_isolation = ' repeatable read'
28+ max_replication_slots = 10 # at least the number of nodes
29+ shared_preload_libraries = ' raftable,multimaster'
30+ multimaster.workers = 10
31+ multimaster.queue_size = 10485760 # 10mb
32+ multimaster.node_id = 1 # the 1-based index of the node in the cluster
33+ multimaster.conn_strings = ' dbname=... host=....0.0.1 port=... raftport=..., ...'
34+ # comma-separated list of connection strings
35+ multimaster.use_raftable = true
36+ multimaster.heartbeat_recv_timeout = 1000
37+ multimaster.heartbeat_send_timeout = 250
38+ multimaster.ignore_tables_without_pk = true
39+ multimaster.twopc_min_timeout = 2000
40+ ```
40411 . Allow replication in ` pg_hba.conf ` .
4142
4243## Status functions
0 commit comments