发布于 2026-09-26T23:37:07.380894Z · Sami Imseih、Álvaro Herrera · PostgreSQL Git

PostgreSQL 已提交并发 REPACK 的正确性修复:表通过免重写方式增加列后,部分旧元组不含新属性,解码时误用临时表的描述信息,会把默认值还原成 NULL,甚至破坏非空约束。若该列属于副本标识,还可能找不到待更新行或触发比较函数崩溃。补丁改用源表描述信息,并增加隔离测试,已回补至 19 分支。这个修复针对并发变更的旧元组处理,与此前的 TOAST 解码及索引检查问题不同。
PostgreSQL 已提交并发 REPACK 的正确性修复:表通过免重写方式增加列后,部分旧元组不含新属性,解码时误用临时表的描述信息,会把默认值还原成 NULL,甚至破坏非空约束。若该列属于副本标识,还可能找不到待更新行或触发比较函数崩溃。补丁改用源表描述信息,并增加隔离测试,已回补至 19 分支。这个修复针对并发变更的旧元组处理,与此前的 TOAST 解码及索引检查问题不同。
来源记录
- pgweb.info_item · e98092f6f8b746b9 · 2026-10-03T04:08:55.967155Z