PostgreSQL 19 分区 ON CONFLICT 撞上可延迟唯一约束
PostgreSQL 19 的 ON CONFLICT 被查出两处回归。一是向分区表插入时,若目标子分区带有本地的可延迟唯一约束,路由后的插入会直接失败;二是提交 2bc7e886fc1 让 NULLS NOT DISTINCT 约束被静默当成仲裁器,顶替用户指定的约束名,错误被吞掉、行被意外更新。Mihail Nikalayeu 的综合补丁把 IsIndexCompatibleAsArbiter 挪进 index.c,重做 indimmediate 判断与排序规则比较,并部分回退原提交。计划升级到 19 且用到分区 ON CONFLICT 的团队应盯住修复落地的版本。

