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

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

超过 16 个索引的热表会把整个系统拖进锁管理器 RSS

Christophe Pettus 解释 max_locks_per_transaction 与快速路径的关系:17 及更早版本的快速路径固定 16 槽,一条查询要拿的关系锁超过这个数就会溢出到共享锁表,几百个后端同时撞上 LWLock:LockManager 等待。18 起快速路径按参数以 16 为单位分组,默认 64。出路有三条:用预备语句只锁真正用到的索引、升到 18、删掉热表上零使用的索引。

发布于 2026-09-10T10:59:48.486956Z · Christophe Pettus · thebuild.com
性能 索引 锁

Christophe Pettus 解释 max_locks_per_transaction 与快速路径的关系:17 及更早版本的快速路径固定 16 槽,一条查询要拿的关系锁超过这个数就会溢出到共享锁表,几百个后端同时撞上 LWLock:LockManager 等待。18 起快速路径按参数以 16 为单位分组,默认 64。出路有三条:用预备语句只锁真正用到的索引、升到 18、删掉热表上零使用的索引。

Christophe Pettus 解释 max_locks_per_transaction 与快速路径的关系:17 及更早版本的快速路径固定 16 槽,一条查询要拿的关系锁超过这个数就会溢出到共享锁表,几百个后端同时撞上 LWLock:LockManager 等待。18 起快速路径按参数以 16 为单位分组,默认 64。出路有三条:用预备语句只锁真正用到的索引、升到 18、删掉热表上零使用的索引。

原始来源 ↗

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