1、分别在master节点和standby节点安装Postgresql
2、Master上的配置:
(1)创建备份用户:
create role rep1 login replication encrypted password ‘passwd’;
(2)修改pg_hba.conf
host replication all 127.0.0.1/32 trust
host replication rep1 192.168.108.76/32 md5
(3)修改postgresql.conf
Listen_adresses = ‘*’
wal_level = replica 模式选择
max_wal_senders=2 流复制允许连接进程
wal_keep_segments =64
max_connections = 100 数据库的连接数
(4)重启master数据库服务
pg_ctl start -D $PGDATA
3、Standby 上的配置:
(1)基础备份:若从库已经初始化,则删除其data目录下文件:
pg_basebackup -h 192.168.108.75 -U rep1 -D $PGDATA -X stream -P
(2)修改postgresql.conf文件
关闭:wal_level、max_wal_senders、wal_keep_segments等参数
打开如下参数:
hot_standby = on 在备份的同时允许查询
max_standby_streaming_delay = 30s 可选,流复制最大延迟
wal_receiver_status_interval = 10s 可选,从向主报告状态的最大间隔时间
hot_standby_feedback = on 可选,查询冲突时向主反馈
(3)修改recovery.conf文件
cp share/recovery.conf.sample data/recovery.conf
vi recovery.conf
recovery_target_timeline = 'latest' 同步到最新数据
standby_mode = on 指明从库身份
primarh_conninfo = 'host=192.168.108.75 port=5432 user=rep1 password=passwd' 连接主库信息
(4)启动从库
pg_ctl -D $PGDATA start