我已经通过本手册安装了 postgres 主节点和从节点:
在主 (10.0.0.1) 处:
sudo -u postgres initdb -D /data/postgres/main
Run Code Online (Sandbox Code Playgroud)
更改 postgresql.conf:
listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 2
logging_collector = on
max_wal_senders = 5
Run Code Online (Sandbox Code Playgroud)
将复制记录添加到 pg_hba.conf:
host replication replica 10.0.0.2/32 md5
Run Code Online (Sandbox Code Playgroud)
然后启动postgres
service postgresql start
Run Code Online (Sandbox Code Playgroud)
创建复制用户:
CREATE USER replica WITH REPLICATION ENCRYPTED PASSWORD '123456';
Run Code Online (Sandbox Code Playgroud)
并添加复制槽:
SELECT pg_create_physical_replication_slot('standby_slot');
Run Code Online (Sandbox Code Playgroud)
在从站 (10.0.0.2):
pg_basebackup -h 10.0.0.1 -U replica -D /db/postgres/main -X s -P
Run Code Online (Sandbox Code Playgroud)
在 postgresql.conf 中将状态更改为备用:
hot_standby = on
Run Code Online (Sandbox Code Playgroud)
添加recovery.conf:
standby_mode = 'on'
primary_conninfo = 'host=10.0.0.1 port=5432 …Run Code Online (Sandbox Code Playgroud)