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

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

五种最容易踩坑的 PostgreSQL 锁行为 RSS

Shinya Kato 列了五种容易踩坑的锁行为。ALTER TABLE 申请 ACCESS EXCLUSIVE 时排在现有锁后面,后续 SELECT 又排在它后面,建议设 lock_timeout 并盯住空闲事务。INSERT 会对被引用的父行取 FOR KEY SHARE,两个会话反序加锁就死锁。防回卷的 autovacuum 不接受取消,VACUUM 末尾的截断阶段也会短暂拿 ACCESS EXCLUSIVE。

发布于 2026-09-10T10:59:41.58771Z · Shinya Kato · dev.to
VACUUM 死锁 锁

Shinya Kato 列了五种容易踩坑的锁行为。ALTER TABLE 申请 ACCESS EXCLUSIVE 时排在现有锁后面,后续 SELECT 又排在它后面,建议设 lock_timeout 并盯住空闲事务。INSERT 会对被引用的父行取 FOR KEY SHARE,两个会话反序加锁就死锁。防回卷的 autovacuum 不接受取消,VACUUM 末尾的截断阶段也会短暂拿 ACCESS EXCLUSIVE。

Shinya Kato 列了五种容易踩坑的锁行为。ALTER TABLE 申请 ACCESS EXCLUSIVE 时排在现有锁后面,后续 SELECT 又排在它后面,建议设 lock_timeout 并盯住空闲事务。INSERT 会对被引用的父行取 FOR KEY SHARE,两个会话反序加锁就死锁。防回卷的 autovacuum 不接受取消,VACUUM 末尾的截断阶段也会短暂拿 ACCESS EXCLUSIVE。

原始来源 ↗

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