在主节点上初始化数据目录:
$ initdb -D /path/to/main/data/directory
修改 postgresql.conf
配置文件:
listen_addresses = '*'
wal_level = replica
max_wal_senders = 10
wal_keep_segments = 10
synchronous_standby_names = 'slave1'
max_replication_slots = 10
解释:
listen_addresses
允许连接到主节点的 IP 地址范围,设置为*
表示允许任何 IP 地址连接。wal_level
设置为replica
,表示要将 WAL 记录到可以用于流复制的最低级别。max_wal_senders
设置为 10,表示最多允许 10 个流复制连接。wal_keep_segments
设置为 10,表示保存 WAL 日志段的数量。synchronous_standby_names
设置为 'slave1',表示将同步流复制到名为 'slave1' 的从节点。max_replication_slots
设置为 10,表示最多允许 10 个复制槽。
在主节点上创建复制槽: