Postgres会话空闲,查询= COMMIT或ROLLBACK

时间:2017-05-31 04:30:56

标签: postgresql session

我有一个基于Web的Java应用程序的Postgres 9.5数据库。有时,由于长时间运行的查询,会话数突然增加,并且这些会话不会立即清除。当我检查pg_stat_activity时,查询列显示具有空闲阶段的COMMIT或ROLLBACK。这导致Postgres达到max_connections的高阈值,这可能导致生产中断。

查询| ROLLBACK 州|闲 计数| 167

查询|承诺 州|闲 计数| 280

  1. 这些COMMIT / ROLLBACK空闲会话是什么?
  2. 如何立即清除这些空闲会话?
  3. 如何减少创建这些空闲会话的数量?
  4. 由于

1 个答案:

答案 0 :(得分:16)

这些是等待另一个查询的连接。他们没有做任何事情。这就是他们为什么闲着的原因。

您的应用使用连接功能,以避免必须始终断开连接并重新连接。当它有比活动查询更多的连接时,一些将是空闲的,并且显示的查询将是最后完成的查询。

这一切都很正常,没什么可担心的。您无需更改或修复任何内容。