我想分析(密切关注)在 PostgreSQL 中的数据库中进行的所有活动。
有没有这样的实用程序可以帮助我做到这一点?
在我看来,“密切关注”和“个人资料”是两个完全不同的任务。
对于分析(不是实时查看正在发生的事情,而是查看哪些查询花费最多时间等),请查看 pgFouine:
http://pgfouine.projects.postgresql.org/
这将让您查看哪些查询是资源密集型的,并采取适当的措施:添加缺失的索引、使用其他技术重写查询等。
为了“密切注意”,我使用pgtop,这是一个故意模仿 Unix 'top' 命令的程序。
好吧,如果您正在查看正在发生的事情,关于选择、更新、删除等,pg_catalog
架构中有一些视图,我主要使用pg_stat_user_tables
,pg_stat_user_indexes
但还有更多,都在pg_stat*
.
还有一个pg_stat_activity
视图可以告诉您现在服务器上正在运行什么。
我已经一起破解了四个使用 user_tables 和 user_indexes 的 munin 插件,它们在那里可用