31

我想分析(密切关注)在 PostgreSQL 中的数据库中进行的所有活动。

有没有这样的实用程序可以帮助我做到这一点?

4

5 回答 5

35

在我看来,“密切关注”和“个人资料”是两个完全不同的任务。

对于分析(不是实时查看正在发生的事情,而是查看哪些查询花费最多时间等),请查看 pgFouine:

http://pgfouine.projects.postgresql.org/

这将让您查看哪些查询是资源密集型的,并采取适当的措施:添加缺失的索引、使用其他技术重写查询等。

于 2008-12-13T11:52:51.143 回答
21

为了“密切注意”,我使用pgtop,这是一个故意模仿 Unix 'top' 命令的程序。

于 2008-12-13T22:13:36.457 回答
11

PgBadger是一个积极维护的分析工具,它提供了非常详细的报告和图表(参见示例)。它可以处理大量 PostgreSQL 日志来回答以下问题

  • 最频繁的等待查询。
  • 等待时间最长的查询。
  • 最慢的查询。

(PgBadger 被明确构建为“替代并超越”pgFouine,它自 2010 年左右以来就没有得到维护。)

于 2014-06-12T14:35:20.093 回答
6

好吧,如果您正在查看正在发生的事情,关于选择、更新、删除等,pg_catalog架构中有一些视图,我主要使用pg_stat_user_tablespg_stat_user_indexes但还有更多,都在pg_stat*.

还有一个pg_stat_activity视图可以告诉您现在服务器上正在运行什么。

我已经一起破解了四个使用 user_tables 和 user_indexes 的 munin 插件,它们在那里可用

于 2008-12-13T11:11:34.937 回答
2

查看Nagios-Plugin 脚本check_postgres.pl

于 2008-12-13T11:41:02.227 回答