↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

boringsql 拆解 pg_stat_statements 的边界 RSS

Radim Marek 提醒 pg_stat_statements 不是查询仓库,而是共享内存里一张定长哈希表。由此有几处坑:queryid 按对象 OID 计算,跨大版本或重建表之后就会变,不能当持久主键;ORM 的别名、列表和 LIMIT 差异会把一条逻辑查询打散成上百行;条目数受 pg_stat_statements.max 限制,被淘汰的历史直接消失;mean_exec_time 是开机以来的平均,看不出 p99 毛刺。

发布于 2026-09-10T10:59:42.111424Z · Radim Marek · boringsql
扩展 监控

Radim Marek 提醒 pg_stat_statements 不是查询仓库,而是共享内存里一张定长哈希表。由此有几处坑:queryid 按对象 OID 计算,跨大版本或重建表之后就会变,不能当持久主键;ORM 的别名、列表和 LIMIT 差异会把一条逻辑查询打散成上百行;条目数受 pg_stat_statements.max 限制,被淘汰的历史直接消失;mean_exec_time 是开机以来的平均,看不出 p99 毛刺。

Radim Marek 提醒 pg_stat_statements 不是查询仓库,而是共享内存里一张定长哈希表。由此有几处坑:queryid 按对象 OID 计算,跨大版本或重建表之后就会变,不能当持久主键;ORM 的别名、列表和 LIMIT 差异会把一条逻辑查询打散成上百行;条目数受 pg_stat_statements.max 限制,被淘汰的历史直接消失;mean_exec_time 是开机以来的平均,看不出 p99 毛刺。

原始来源 ↗

来源记录
  • center.info_item · f3ec28d411ab808d · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · f3ec28d411ab808d · 2026-10-03T04:08:55.967155Z