POSTGRESQL 在主从流复制中,在主库失败切换后,从库变为主库后,如果主库不是因为硬件的原因,想继续拉起来,并且加入到新的复制关系中,一般都会通过pg_rewind的程序来进行拉起来....,只需要读取变化的文件....工作原理:
1 扫描源于目的数据库中最后一次相同的checkpoint点之后的信息,并根据开始不同的信息来组织相关的数据块列表,通过wal log中的进行查找
2 针对列表中的数据块通过拷贝的方式...,而是通过打入一个备份的标签,在节点开启后重放日志,达到最终的一致性.
1 正常停止主库
2 提升从库
此时需要注意,如果使用了物理复制槽,则必须确认(新主上也有物理复制槽,否则在此设置连接会失败...总结: 整体pg_rewind 在多种情况下,都可以保证失败后的数据库重新拉起来并进入新的复制, 但需要注意的两点
1 如果添加的物理复制槽的,那就需要在新的主库上添加,或确认复制槽的存在
2