Jua*_*oto 33 postgresql performance database-design
根据我对 PostgreSQL 9.2 中的空闲连接问题的评论,一些未提交的事务(可能与其中一些空闲连接有关)可能会导致一些性能问题。
确定是否存在未提交的事务的好方法是什么(如果有办法知道它们所在的连接是否空闲,则加分)?
非常感谢!
Han*_*non 29
如果您想查看有多少空闲连接有一个打开的事务,您可以使用:
select *
from pg_stat_activity
where (state = 'idle in transaction')
and xact_start is not null;
Run Code Online (Sandbox Code Playgroud)
这将提供处于空闲状态的打开连接列表,这些连接也有一个打开的事务。
请注意 state 列仅存在于 PostgreSQL 9.2 及更高版本中。
话虽如此,我无法在具有打开事务的空闲状态下重新创建打开连接。也许其他人可以提供有关如何执行此操作的详细信息。