Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Pgpool未恢复连接_Database_Postgresql_Load Balancing_Pgpool - Fatal编程技术网

Database Pgpool未恢复连接

Database Pgpool未恢复连接,database,postgresql,load-balancing,pgpool,Database,Postgresql,Load Balancing,Pgpool,我有一套4套流浪系统 web1(主数据库) web2(从web1复制的数据库) 管理(Im从中连接的节点) web3(pgpool正在运行) My设置为在web1和web2上的数据库之间实现负载平衡。它工作良好,我可以连接到数据库,即使其中一个是通过。但是,当我关闭两个数据库(web1和web2)时,我失去了通过现有的连接 现在,当我再次启动主db时,我假设它应该恢复连接,但它没有。即使我的假设是错误的,我如何再次获得与web1和web2上的db的连接 目前在两个数据库都关闭后,我收到消息-

我有一套4套流浪系统

  • web1(主数据库)
  • web2(从web1复制的数据库)
  • 管理(Im从中连接的节点)
  • web3(pgpool正在运行)
My设置为在web1和web2上的数据库之间实现负载平衡。它工作良好,我可以连接到数据库,即使其中一个是通过。但是,当我关闭两个数据库(web1和web2)时,我失去了通过现有的连接

现在,当我再次启动主db时,我假设它应该恢复连接,但它没有。即使我的假设是错误的,我如何再次获得与web1和web2上的db的连接

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

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 conf文件,因为我认为它们与此无关,但如果需要,我会添加它们。

如果在节点故障时将后端节点设置为故障转移,pgpool II将在对其执行故障转移后分离故障节点。这就是你的情况。但一旦分离,故障节点就不会自动连接回Pgpool II,即使它们再次可用/可访问。原因是Pgpool II无法自行确保节点故障是否已导致某些数据损坏和/或是否仍按照用户的预期正确复制。
因此,故障节点需要手动连接到Pgpool II,为此,您可以使用该命令。

您能否在文档中向我展示一些有关这方面的参考信息?我怀疑Pgpool II官方文档中是否提到了这一点,但Pgpool II就是这样工作的。请参阅涉及将节点重新连接到Pgpool主题的博客文章