Postgresql 系统查询上的事务处于空闲状态

Postgresql 系统查询上的事务处于空闲状态,postgresql,postgresql-9.4,Postgresql,Postgresql 9.4,我的数据库由于一个查询而部分卡住,该查询的状态为“事务中空闲” SELECT typname FROM pg_catalog.pg_type WHERE oid = $1 通过pg_terminate_backend终止后,数据库立即恢复并开始正常运行 问这个问题的原因可能是什么?我从未有意在我的系统中使用过这个查询 如何防止此查询在事务中处于空闲状态 Hibernate 4.3.x通过数据源、io.vertx.ext.jdbc和nodejs的pg模块使用数据库这是主要的客户端问题。查询正常,

我的数据库由于一个查询而部分卡住,该查询的状态为“事务中空闲”

SELECT typname FROM pg_catalog.pg_type WHERE oid = $1
通过
pg_terminate_backend
终止后,数据库立即恢复并开始正常运行

  • 问这个问题的原因可能是什么?我从未有意在我的系统中使用过这个查询
  • 如何防止此查询在事务中处于空闲状态

  • Hibernate 4.3.x通过数据源、
    io.vertx.ext.jdbc
    和nodejs的pg模块使用数据库这是主要的客户端问题。查询正常,问题在于客户端的某些地方-未处理的异常,…如果再次发生,请检查
    pg_stat_activity
    以查看它来自哪个客户端。您可能必须使用
    netstat
    将客户端端口与连接来自的应用程序进程/线程相匹配。然后使用调试器等查看应用程序,以了解为什么它不能处理事务。仅此查询不应使数据库“卡住”;如果会话在事务中处于空闲状态,则查询已经完成,并且这只是最近的查询。更有可能是事务持有的锁。下次再看一下pg_locks。哦,你可以通过查看应用程序错误日志来找出它是什么应用程序。当您终止PostgreSQL后端时,客户端将收到错误,并可能已将其保存到自己的日志中。这是客户端的主要问题。查询正常,问题在于客户端的某些地方-未处理的异常,…如果再次发生,请检查
    pg_stat_activity
    以查看它来自哪个客户端。您可能必须使用
    netstat
    将客户端端口与连接来自的应用程序进程/线程相匹配。然后使用调试器等查看应用程序,以了解为什么它不能处理事务。仅此查询不应使数据库“卡住”;如果会话在事务中处于空闲状态,则查询已经完成,并且这只是最近的查询。更有可能是事务持有的锁。下次再看一下pg_locks。哦,你可以通过查看应用程序错误日志来找出它是什么应用程序。当您终止PostgreSQL后端时,客户端将收到一个错误,并且可能已将其保存到自己的日志中。