跟踪postgresql中的放弃/空闲连接

时间:2014-10-09 15:22:32

标签: database lua database-connection postgresql-9.2

背景资料

我在一些代码中发现了一个错误,其中函数连接到postgresql数据库,然后"返回"关闭数据库连接之前的它。

这个问题才被发现,因为有一次,我们有大量的并发连接超过了MAX_CONNECTIONS值,我发现了一堆"空闲" pg_stat_activity表中的记录

'问题

如果我通过在脚本中循环并多次调用此函数来创建数据库的负载,我只会看到这些空闲连接...

意思是,如果我使用没有关闭数据库的错误代码,并连接一次,我就不会看到任何"空闲" pg_stat_activity表中的记录。请注意,在运行脚本的窗口和运行psql客户端的窗口之间切换需要一两秒钟。

所以这是我的问题。

  1. 跟踪空闲连接的最佳方法是什么?我使用正确的方法吗?

  2. 在postgresql会话选择我要求的数据并将其返回给客户端之后,它在杀死空闲会话之前等待了多长时间?或者,当我的脚本完成所有逻辑运行后,这些空闲记录是否会被终止?

  3. 我已尝试使用TCP保持alives值非常低,以防相关......我得到的结果相同。

    如果我的问题不够明确,请告诉我,我会修改。 感谢

0 个答案:

没有答案