首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pgpool未恢复连接

Pgpool未恢复连接
EN

Stack Overflow用户
提问于 2017-08-19 04:42:55
回答 1查看 2.1K关注 0票数 3

我有一套4套流浪系统。

  • web1 (主db)
  • web2 (db从web1复制)
  • mgmt (一个从mgmt连接的节点)
  • web3 (pgpool正在运行)

设置我的帕格浦是为了在web1和web2上的数据库之间负载平衡。它工作得很好,即使其中一个是通过帕格浦关闭的,我也可以连接到数据库。但是当我关闭两个数据库(web1和web2)时,我失去了通过帕格浦存在的连接。

现在,当我再次恢复主数据库时,我假设帕格浦应该重新获得该连接,但它没有。即使我的假设是错误的,如何让帕格浦再次获得到web1和web2上的数据库的连接?

目前,在两个数据库都关闭后,我收到消息-

代码语言:javascript
运行
复制
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.

当我再次恢复数据库的时候,我仍然会收到这样的消息-

代码语言:javascript
运行
复制
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

只有重新启动系统,我才能恢复连接。我是不是遗漏了什么,或者我是否误解了帕格浦的工作方式?

我没有在这里添加pgpool和postgresql文件,因为我认为它们与此无关,但如果需要,我将添加它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 11:01:04

如果在发生节点故障时将后端节点设置为故障转移,则在对失败节点执行故障转移后,Pgpool将分离该失败节点。你的案子就是这样。但是,一旦分离,失败的节点永远不会自动连接回Pgpool,即使它们再次变得可用/可达。其原因是Pgpool无法单独确保节点故障是否导致某些数据损坏和/或是否仍按用户的意愿正确复制。因此,失败的节点需要手动连接到Pgpool,为此您可以使用节点命令。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45767730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档