分析PostgreSQL中的存储过程

时间:2018-04-16 13:22:23

标签: postgresql explain

所以我在PostgreSQL中有一个复杂的,近200行的存储过程,我想快速分析一下,但遗憾的是PgAdmin内置的explain analyze函数不支持嵌套循环,它不让我看看引擎盖下,所以我使用以下内容更新了我的postgresql.conf文件:

auto_explain.log_analyze = true
auto_explain.log_timing = true
auto_explain.log_verbose = true
auto_explain.log_min_duration = '0ms'
auto_explain.log_nested_statements = true
auto_explain.log_buffers = true

所以我可以在我的pg_log文件夹中看到详细的日志,但是它生成了近300行的结果日志并且不容易分析。

有更好,更优雅的方式吗?也许在Windows上有它的UI工具?

2 个答案:

答案 0 :(得分:0)

由于@a_horse_with_no_name在评论中建议explain.depesz.com网站非常有用。只需复制粘贴您的解释分析计划,并查看输出。您可以单击列标题以让它知道哪个参数对您最重要 - 独占节点时间,包含节点时间或行计数错误估计。

About explain.depesz.com

答案 1 :(得分:0)

虽然explain.depesz.com非常有用,但您也可以使用https://bitbucket.org/openscg/plprofiler分析您的程序。您可以组合使用这两种工具