另外有两点注意,当pg_rewind操作失败后,则目标系统文件损坏,此时只能通过备份的方式来重建"从库",同时对于数据目录中一些"只读文件",使用pg_rewind 时会失败,常见与使用了ssl key...wallog数据并进行重放,pg_rewind本身是不会进行相关的工作,而是通过打入一个备份的标签,在节点开启后重放日志,达到最终的一致性.
1 正常停止主库
2 提升从库
此时需要注意,如果使用了物理复制槽...,则必须确认(新主上也有物理复制槽,否则在此设置连接会失败)
SELECT * FROM pg_create_physical_replication_slot('slot_s1');
以下为手动恢复的过程...' -P
配置好复制,启动新的从库
总结: 整体pg_rewind 在多种情况下,都可以保证失败后的数据库重新拉起来并进入新的复制, 但需要注意的两点
1 如果添加的物理复制槽的,那就需要在新的主库上添加...,或确认复制槽的存在
2 加入的从库的数据与主库不一致的会全部被抹去,所以在重新加入的过程中需要注意是否有必要要保留"新从"不一致的数据.