调试 PostgreSQL 慢查询
原文由 Ellie Huxtable 于 发布,订阅该博客
今天早些时候,我一直在排查偶尔出现的延迟尖峰是什么原因导致的。我怀疑是有一些慢查询需要优化,但要确认这一点,就得先启用慢查询日志。
如果想让 Postgres 记录所有执行时间超过 100 毫秒的语句,只需在配置文件中加入这一行:
log_min_duration_statement = 100然后用以下语句重新加载 Postgres 配置:
select pg_reload_conf();无需重启服务器!
另外,以下几个配置项也可能会派上用场:
# Log all statements, not just the slow ones
# This may be very chatty, so make sure your log partition doesn't fill up
log_statement = all/ddl/none# Log durations alongside statements
log_duration = on在之前的工作中,我发现 pganalyze 在分析 Postgres 性能方面非常出色。它需要一些额外的配置步骤,而且并非免费。如果你重度依赖 Postgres,我非常推荐它!
另外,我最常用来查阅 Postgres 配置项的资源是 postgresqlco.nf——用它浏览可用选项很方便,还能清楚地标出哪些选项需要重启才能生效。
随机一篇博客
评论
登录后参与讨论