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

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