我想获得有关“交易中空闲”连接的统计信息。
此统计信息应该是性能测试结果的一部分,它可以揭示测试系统中的一些错误。
我可以用什么来收集这些统计数据?
答案 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。