复制 PostgreSQL 9.6

问题描述

我在 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