在pg_activity中使用"show transaction isolation level"获取多个查询

Yog*_*ati 9 transactions postgresql-9.2

我正在使用postgres数据库服务器进行生产使用.

当我select * from pg_stat_activity在我的postgresql服务器上发出一个查询,所以我得到98%的查询"SHOW TRANSACTION ISOLATION LEVEL",我的postgresql服务器只接受100个连接.而我的服务器被卡住了.所以我无法继续前进.

任何人都知道为什么会发生这种情况,是否有任何想法阻止所有查询.或者为什么这个查询会创建这么多连接?

Chr*_*ers 0

您的描述中没有足够的信息来开始解决此问题,因此以下是一般故障排除建议。

  1. 首先查看 pg_stat_activity 中的其他信息。application_name 是什么?涉及哪些IP地址?简而言之,这些查询来自哪里?
  2. 如果你缺乏人脉,那么问题就是为什么你有这么多人脉,而他们却做这么少的工作。这涉及对客户端软件进行故障排除,而不是对服务器本身进行故障排除。另外值得一问的是,查询在事务中是活动的、空闲的还是空闲的,如果它们只是空闲,为什么它们没有断开连接(如果这是一个限制)。

话虽如此,我的猜测是这些来自客户端软件用于连接的数据库框架。我的猜测是,与大量执行无用操作的查询相比,您更有可能遇到数据库连接泄漏。