How long for Postgres to drop idle user
本问题已经有最佳答案,请猛点这里访问。
我有一个用户遇到了我们的应用程序崩溃的问题,并没有正确关闭他与数据库的连接 - 最终达到他的连接限制,无法重新登录。
没关系。 问题最终得到解决,应用程序正在关闭连接。
我想知道,如果用户达到他的连接限制,并且没有我做任何事情,Postgres 9.1的默认设置是什么?它自己断开连接?
那么,对于你的实际问题:
if a user reaches his connection limit, and without me doing anything, what is the default setting for Postgres 9.1 to drop the connection on its own?
如果您正在谈论的连接是与真实客户端的活动连接(即客户端仍然存在,没有崩溃和退出,并且可以读取和写入其连接套接字),Postgres将不会"自行断开连接"。 如果您对修剪这些闲置客户的方式感兴趣,请参阅此问题。
另一方面,Postgres后端可能名义上连接到一个真正崩溃或以其他方式退出的客户端,正如您之前提到的那样。 在这种情况下,Postgres可能不会注意到客户端已经消失,而不是仅仅处于空闲状态一段时间。 我相信确切的时间将由"TCP keepalive time"操作系统设置控制,或者您甚至可以通过连接参数在您的客户端中调整此设置:请参阅各种与Keepalive相关的设置。