如何获得有关“事务中空闲”连接到PostgreSQL实例的任何统计信息?

时间:2010-12-13 09:42:34

标签: performance postgresql

我想获得有关“交易中空闲”连接的统计信息。

此统计信息应该是性能测试结果的一部分,它可以揭示测试系统中的一些错误。

我可以用什么来收集这些统计数据?

2 个答案:

答案 0 :(得分:1)

我不确定您对“统计信息”的含义,但您可以通过查询系统视图pg_stat_activity来查看所有打开的连接(及其事务状态):

http://www.postgresql.org/docs/current/static/monitoring-stats.html#MONITORING-STATS-VIEWS

答案 1 :(得分:1)

postgresql.conf 中设置记录到

log_statement = 'all'                # none, ddl, mod, all

并检查

log_line_prefix='%t:%r:%a:%u@%d:[%p]: '

包含%p,它是SQL的[进程ID]。

重新加载数据库设置后,在表* pg_stat_activity *中,您可以读取事务中的空闲进程的 procpid 列。

现在,您可以通过日志文件来查看在事务空闲之前连接上已执行的SQL。