我正在使用repmgr,并已成功地转到备用节点。但是,当我计划恢复失败的主节点时,我现在发现我有两个主节点。
我尝试将备用节点重新注册为备用节点。但是我发现,当repmgr检查节点的模式时,它发现它处于恢复模式,并且不允许它。
repmgr -f /var/lib/pgsql/repmgr/repmgr.conf cluster show
=> Role | Connection String
* master | host=<IP Address> user=repmgr dbname=my_db
* master | host=<IP Address> user=repmgr dbname=my_db节点1
repmgr -f /var/lib/pgsql/repmgr/repmgr.conf --verbose master register --force
=> Opening configuration file: /var/lib/pgsql/repmgr/repmgr.conf
repmgr connecting to master database
repmgr connected to master, checking its state
finding node list for cluster 'my_cluster'
checking role of cluster node 'host=<IP Address> user=repmgr dbname=my_db'
There is a master already in cluster my_cluster
Node 2
============
repmgr -f /var/lib/pgsql/repmgr/repmgr.conf standby clone -h <master Node IP> --force
=> repmgr: directory "." exists but is not empty如有任何建议,将不胜感激。
发布于 2014-09-04 09:10:42
诀窍是关闭要降级的服务器上的postgres守护进程。在完成克隆之前,您不需要再次打开它,到那时,cluster show将显示老主人已经成功降级。
根据您的连接池逻辑,您可能希望旧的主服务器只在万一情况下被写入,然后在克隆过程中丢失。
https://stackoverflow.com/questions/22444418
复制相似问题