加载中...

pg_stat_statements 是 PostgreSQL 自带的统计扩展(contrib 模块),在服务器内持续聚合记录所有已执行语句的性能指标,通过同名视图查询,是 PostgreSQL 性能诊断的事实标准工具。
扩展需在 shared_preload_libraries 中加载并执行 CREATE EXTENSION 启用。它将常量归一化后的语句按 queryid 聚合,记录调用次数、总/平均/最大执行时间、返回行数、共享缓冲区命中与读取块数、临时文件用量、WAL 生成量等指标。相比慢查询日志只记录超阈值语句,它能发现"单次不慢但总量惊人"的高频查询。
常用查询是按 total_exec_time 或 mean_exec_time 排序取 Top 语句,结合 shared_blks_read 判断 I/O 型问题;调优后调用 pg_stat_statements_reset() 清零对比。云厂商的性能洞察类产品多以其为数据源。
视图中语句已参数归一化,无法直接看到具体参数值,需配合日志或 auto_explain 定位;pg_stat_statements.max 限制跟踪的语句种类数,超出后低频项会被淘汰。

登录 后参与讨论
暂无讨论,来发表第一条评论吧