0

我正在使用 PDO 连接到 Postgresql DB,使用 PDO::ATTR_PERSISTENT 属性可以显着加快应用程序的速度。

但是我遇到了一个问题,经过调试,发现在最后一个SQL查询执行后大约2小时11分钟,与DB的连接就死了!故障出在服务器之间的防火墙上,但是网络人员拒绝将限制设置为高于 24 小时(说这会减慢防火墙的速度),而我需要禁用它。

我无法通过简单的使用来刷新池连接,因为我无法控制或确保所有池连接都在一个旋转的基础上提供服务,确保没有连接会死(导致稍后在服务器上有负载时难以调试问题,还有一些连接是死的,而其他连接是活着的)。

那么,有人对这个问题有什么建议吗?除了强制网络人员为这两个特定服务器禁用这个愚蠢的超时规则之外,如何保持池连接处于活动状态?

谢谢!

4

1 回答 1

-2

利用

SELECT 1

作为第一个查询,如果失败,请重新连接。

于 2013-10-08T14:18:12.333 回答