我有一个主节点 (A) 和一个从节点 (B)。
假设在时刻 T 发生了一个检查点,并且自检查点以来已经完成了一些事务(脏页尚未保存在磁盘上)。假设交易后的WAL位置为X。
现在节点 A 出现故障,我已经将 B 提升为 master。
我想修复节点 A 并将其作为从节点附加到 B(当前主节点)。
我的疑问是,节点 A(旧主节点 A)中发生的事务是否会被重播,然后它会重播来自当前主节点(B)的流式 wal??
我的问题是,
1) 在这种情况下,wal 将从哪个点开始从新的主服务器流式传输到新的从服务器?从检查站还是从X位置?
2)当老主人被重用为奴隶时,重播从哪里开始?重播节点中存在的任何较旧的 wal?
最佳答案
如果节点A在节点B之前,则需要使用pg_rewind
将其倒回到可以用作 B 的备用状态。
它所做的是确定最后一个公共(public)检查点并替换所有自此发生更改的 block 。
关于postgresql - 在 PostgreSQL 中重用旧的 master 作为 slave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52637569/