【发布时间】:2010-09-26 18:40:33
【问题描述】:
我想分析(密切关注)在 PostgreSQL 中的数据库中进行的所有活动。
有没有这样的实用程序可以帮助我做到这一点?
【问题讨论】:
标签: postgresql profiling monitoring
我想分析(密切关注)在 PostgreSQL 中的数据库中进行的所有活动。
有没有这样的实用程序可以帮助我做到这一点?
【问题讨论】:
标签: postgresql profiling monitoring
在我看来,“关注”和“个人资料”是两个完全不同的任务。
对于分析(不是实时查看正在发生的事情,而是查看哪些查询花费最多时间等),请查看 pgFouine:
http://pgfouine.projects.postgresql.org/
这将让您了解哪些查询是资源密集型的,并采取适当的措施:添加缺失的索引、使用其他技术重写查询等。
【讨论】:
为了“保持关注”,我使用pgtop,这是一个故意模仿 Unix 'top' 命令的程序。
【讨论】:
自从 rebra 回答后,另一个分析工具 pgbadger 消失了。
你可以在这里找到它:
http://dalibo.github.io/pgbadger/
您可以获得非常详细的报告和图表。
pgfouine 不再维护,上次更新是在 2010 年。
【讨论】:
好吧,如果您正在查看正在发生的事情,关于选择、更新、删除等,pg_catalog 架构中有一些视图,我主要使用 pg_stat_user_tables 和 pg_stat_user_indexes 但那里还有更多,都在pg_stat*内。
还有pg_stat_activity 视图可以告诉您当前服务器上正在运行什么。
我已经破解了四个使用 user_tables 和 user_indexes 的 munin 插件,它们可用 there
【讨论】: