发布于 2026-09-10T06:53:45.954562Z · Amit Langote · pgsql-hackers

Amit Langote 报告 PostgreSQL 19 外键快速路径批处理层的新缺陷,问题由 Ayush Tiwari 发现。此前的修复以约束 OID 加查询深度作缓存键,但在 PL/pgSQL 异常块里执行 SET CONSTRAINTS ... IMMEDIATE 会在同一查询深度启动嵌套的触发周期,缓存键分不出内外两层。启用断言的构建会崩溃;更严重的是嵌套周期的批次从未刷新,约束检查静默返回成功,非法的外键引用最终提交入库。
Amit Langote 报告 PostgreSQL 19 外键快速路径批处理层的新缺陷,问题由 Ayush Tiwari 发现。此前的修复以约束 OID 加查询深度作缓存键,但在 PL/pgSQL 异常块里执行 SET CONSTRAINTS ... IMMEDIATE 会在同一查询深度启动嵌套的触发周期,缓存键分不出内外两层。启用断言的构建会崩溃;更严重的是嵌套周期的批次从未刷新,约束检查静默返回成功,非法的外键引用最终提交入库。
来源记录
- center.info_item · 5bc6dc11913fd664 · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · 5bc6dc11913fd664 · 2026-10-03T04:08:55.967155Z