发布于 2026-09-16T00:10:24.372592Z · Zsolt Parragi、Andrey Borodin · PostgreSQL

PostgreSQL 修复了 ON CONFLICT 对冲突行读取缺少谓词锁的问题。采用 DO NOTHING,或更新条件拒绝该行时,语句可能没有实际写入,原先的冲突探测也未登记读依赖,导致可串行化事务仍出现写偏斜。新实现用查询快照重新读取冲突行,在缓冲区锁保护下获取读锁并检查并发写入。前两类路径自 9.5 起受影响,修复已回补至 14 等受支持分支;这是代码修复合入,正式小版本尚未发布。
PostgreSQL 修复了 ON CONFLICT 对冲突行读取缺少谓词锁的问题。采用 DO NOTHING,或更新条件拒绝该行时,语句可能没有实际写入,原先的冲突探测也未登记读依赖,导致可串行化事务仍出现写偏斜。新实现用查询快照重新读取冲突行,在缓冲区锁保护下获取读锁并检查并发写入。前两类路径自 9.5 起受影响,修复已回补至 14 等受支持分支;这是代码修复合入,正式小版本尚未发布。
来源记录
- pgweb.info_item · cd4a3bc1fe97c85e · 2026-10-03T04:08:55.967155Z