↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

PG19 外键批处理缺陷会让非法外键悄悄提交 RSS

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

发布于 2026-09-10T06:53:45.954562Z · Amit Langote · pgsql-hackers
PG19 外键 数据一致性

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