postgresql复制流主备切换之pg_ctl promote方式
1、1.洧粽袄淖配置备库recovery.conf配置recovery.confrecovery_target_timeline='latest'standby_mode=onprim锾攒揉敫ary_conninfo='host=192.168.16.26 port=5432 user=repuser' 这个IP要修改为主库的IP#trigger_file='/home/postgres/pgdata/.postgresql.trigger.1921' 并且把这一行注释掉
2、2.调整以上参数后需要重启备库使配置参数生效
3、3.关闭主库,建议使用 -m fast模式关闭
4、4.如果在备库上配置好参数后没有重启备库,在主库关闭后在备库上会看到无法接收日志的错误信息
5、5.在备库上执行pg_ctl promote命令激活备库pg_ctl promote -D pgdata
6、6.如果recovery.conf变成recovery.done表示备库已经切换成为主库
7、7.这里需要将老的主库切换成备库,在老的主库的$PGDATA目录下创建recovery.conf文件,如果滠锖斟绸此文件不存在,可根据$PGHOME/share目录下recovery.conf.sample模板复制一个,如果此目录下存在recovery.done文件,需要将recovery.done文件重命名为recovery.conf,配置和老的从库一样,只是primary_conninfo参数中的IP换成备库IP#trigger_file = '/home/postgres/pgdata/.postgresql.trigger.1921'同时这个参数也注释掉
8、8.启动老的主库,这里观察主、备进程是否,如果正常表示主备切换成功