我有一套4套流浪系统。
设置我的帕格浦是为了在web1和web2上的数据库之间负载平衡。它工作得很好,即使其中一个是通过帕格浦关闭的,我也可以连接到数据库。但是当我关闭两个数据库(web1和web2)时,我失去了通过帕格浦存在的连接。
现在,当我再次恢复主数据库时,我假设帕格浦应该重新获得该连接,但它没有。即使我的假设是错误的,如何让帕格浦再次获得到web1和web2上的数据库的连接?
目前,在两个数据库都关闭后,我收到消息-
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
当我再次恢复数据库的时候,我仍然会收到这样的消息-
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
只有重新启动系统,我才能恢复连接。我是不是遗漏了什么,或者我是否误解了帕格浦的工作方式?
我没有在这里添加pgpool和postgresql文件,因为我认为它们与此无关,但如果需要,我将添加它们。
发布于 2017-08-29 11:01:04
如果在发生节点故障时将后端节点设置为故障转移,则在对失败节点执行故障转移后,Pgpool将分离该失败节点。你的案子就是这样。但是,一旦分离,失败的节点永远不会自动连接回Pgpool,即使它们再次变得可用/可达。其原因是Pgpool无法单独确保节点故障是否导致某些数据损坏和/或是否仍按用户的意愿正确复制。因此,失败的节点需要手动连接到Pgpool,为此您可以使用节点命令。
https://stackoverflow.com/questions/45767730
复制相似问题