POSTGRESQL 在主从流复制中,在主库失败切换后,从库变为主库后,如果主库不是因为硬件的原因,想继续拉起来,并且加入到新的复制关系中,一般都会通过pg_rewind的程序来进行拉起来....另外pg_rewind主要的针对的场景就是主从切换后,主重新加入到新的集群的场景,在wal 日志丢失和不全的情况下,是无法来进行相关的复制的工作的....四, (在主库DOWN机后,DOWN机后的主库和新的主库均变动了数据)
1 关闭主库
2 从库提升为主库
3 在"新主" 上插入数据
4 在"旧主上插入数据"
5 关闭"旧主"
6 执行...(旧主), 查看从库的数据状态
复制状态
以上情况中,pg_rewind都可以将失败的主, 拉起来并和"新主"进行数据同步....,启动新的从库
总结: 整体pg_rewind 在多种情况下,都可以保证失败后的数据库重新拉起来并进入新的复制, 但需要注意的两点
1 如果添加的物理复制槽的,那就需要在新的主库上添加,或确认复制槽的存在