【问题标题】:How to profile PostgreSQL Database?如何分析 PostgreSQL 数据库?
【发布时间】:2010-09-26 18:40:33
【问题描述】:

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

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

【问题讨论】:

    标签: postgresql profiling monitoring


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 链接已失效。阅读@l-g 答案:pgbadger 作为替代品。
    【解决方案2】:

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

    【讨论】:

    • 为了节省一两分钟的时间:我只在 Debian 的包名 ptop 下找到了这个,虽然命令本身叫做 pg_top。
    • 链接不再可用?
    【解决方案3】:

    自从 rebra 回答后,另一个分析工具 pgbadger 消失了。 你可以在这里找到它: http://dalibo.github.io/pgbadger/

    您可以获得非常详细的报告和图表。

    pgfouine 不再维护,上次更新是在 2010 年。

    【讨论】:

      【解决方案4】:

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

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

      我已经破解了四个使用 user_tables 和 user_indexes 的 munin 插件,它们可用 there

      【讨论】:

      • 垫子,你还有插件可用吗?链接指向 404 not found
      • 嗯,除非我弄错了,否则 munin 附带了十几个用于 postgresql 的插件,它们的功能与我的完全一样。如果我弄错了,请告诉我,我会试着找出我制作的那些发生了什么。
      • 穆宁项目here
      【解决方案5】:

      【讨论】:

        猜你喜欢
        • 2010-10-30
        • 2013-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-01
        • 2015-04-11
        • 2011-12-19
        • 2020-07-07
        相关资源
        最近更新 更多