问题描述
我在 Centos 7 上使用 postghresql 9.6 进行了流复制(Slave-Master)。
在故障转移期间,我们将 Slave 提升为新的 Master。 现在我们已经解决了旧master的问题,我们想回到我们的旧架构,旧的master必须是master,新的master必须是slave。
当我们尝试将新的 Master 转换为 Slave 时,复制既不工作也不只读。
事实上,在让新的 Master 成为 Slave 或在 Fail Over 之前进入初始状态时,我们面临着挑战。
注意:当我们进行复制时,它只是将(pg_basebackup)数据从一台服务器复制到另一台服务器,当我们在主服务器中进行更改时,它不会影响从服务器,从服务器仍然可以读写什么不正常。
有没有可能因为Fail Over导致新的Master不能再次成为Slave?
解决方法
如果“老主人”领先于被提升的奴隶,那是可能的。
要么使用新的 pg_basebackup
从头开始,要么尝试使用 pg_rewind
重置旧主。
当然,您必须添加适当配置的 recovery.conf
。