我们正在Postgres v10系统中使用流式复制。我们已经设法使故障转移从主数据库切换到备用数据库以正常工作,但是我们无法确定如何故障恢复到原始设置。
我们的设置可能有点不寻常,因为每个服务器都位于不同的数据中心中。故障转移不仅包括将主数据库移动到其他数据中心,还包括关联的客户端应用程序。因此,由于速度/带宽原因,在故障转移后我们可以恢复(故障回复)到我们的正常配置非常重要。
我们的设置如下:
Primary1 ----replicate---> Standby1 ---replicate---> HotStandby2
如前所述,我们可以杀死主服务器并将故障转移到以下情况
Standby1 ---replicate---> HotStandby2
我们现在想进行故障回复,因此我们建立了一个名为Primary2的新数据库,并将其设置为Standby1的副本。
Standby1 ---replicate---> HotStandby2
---replicate---> Primary2
一段时间后,Primary2与Standby1同步,因此我们希望将Primary2升级为活动服务器,然后将Standby2重新配置为对Primary2的复制,以恢复到原始状态
Primary2 ----replicate---> Standby1 ---replicate---> HotStandby2
将Primary2提升为活动状态很容易,但是我们找不到任何将Standby2从活动状态转换为待机状态的方法。
我们尝试了
我们的大多数尝试导致Standby1仍作为主服务器运行,并且日志文件中出现了一些关于时间线不同的奇怪消息。...
任何人都有任何想法或可以向我们介绍一些文章-教程等。
在Postgres中甚至有可能吗?还是我们应该重建Standby1,如果可以,那么HotStandby2应该如何?