Postgres多久拖放闲置用户

时间:2014-05-22 23:39:37

标签: postgresql connection timeout

我有一个用户遇到了我们的应用程序崩溃的问题,并没有正确关闭他与数据库的连接 - 最终达到他的连接限制而无法重新登录。

没关系。问题最终得到解决,应用程序正在正确关闭连接。

我想知道,如果用户达到了他的连接限制,并且没有我做任何事情,Postgres 9.1的默认设置是单独删除连接吗?

1 个答案:

答案 0 :(得分:0)

嗯,对于你的实际问题:

  

如果用户达到了他的连接限制,并且没有我做任何事情,Postgres 9.1的默认设置是单独删除连接吗?

如果您正在谈论的连接是与真实客户端的活动连接(即客户端仍然存在,没有崩溃和退出,并且可以读取和写入其连接套接字),Postgres 将不会 "自行删除连接"。如果您对修剪此类闲置客户端的方式感兴趣,请参阅this question

另一方面,Postgres后端可能名义上连接到一个真正崩溃或以其他方式退出的客户端,正如您之前提到的那样。在这种情况下,Postgres可能不会注意到客户端已经消失,而不是仅仅处于空闲状态一段时间。我相信准确的时间将由" TCP keepalive time"操作系统设置,或者您甚至可以通过连接参数在客户端中设置此设置:请参阅各种keepalives-related settings