PostgreSql 9.1具有主从同步复制功能。假设主设备是机器A而从设备是机器B.
如果主人失败,PostgreSQL如何知道何时让奴隶成为主人?如果主服务器错误地认为主服务器由于主服务器上的临时网络故障而导致客户端程序仍然可以联系主服务器,那该怎么办。
此外,我的客户端程序如何知道新主服务器中的从服务器,更重要的是准备好接受写入。从服务器是否向客户端发送消息?
答案 0 :(得分:0)
检查repmgr,它的一个工作就是处理这个问题。
答案 1 :(得分:0)
通常,您希望使用像repmgr或patroni这样的促销管理系统。然后你想使用某种高可用性代理(可能是pgbouncer或haproxy)来处理实际的抽象,这样你的应用程序就不需要知道什么是主系统了。
在回答您的问题时,大多数系统会使用心跳来确定是否存在问题。 Patroni走出了etcd心跳。 Repmgr有自己的心跳检查。使用Repmgr,您需要编写钩子脚本来处理stonith,等等。