选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

当天收录 21 条。

副本模式并不会关掉 CHECK、唯一约束和行级安全

Mikhail ShytskoSeedfast 博客

Seedfast 的 Mikhail Shytsko 在 PostgreSQL 18.6 与 19beta3 上逐项验证 session_replication_role = replica:外键、ON DELETE CASCADE、规则和事件触发器确实静默,标记 ENABLE REPLICA 的触发器反而开始触发,而 CHECK、NOT NULL、唯一约束和行级安全照常拦截。恢复时只有 NOT ENFORCED 切回会扫表。

PostgreSQL 19 的外键快速路径会漏掉外键检查

PostgreSQL hackersPostgreSQL 邮件列表

PostgreSQL 19 新的外键快速路径批处理层被查出两个缺陷:在 AFTER 触发器里执行 ALTER TABLE ... ADD FOREIGN KEY 时,验证检查被错误并入外层批次,外键检查因此被跳过,孤立行会当作合法数据提交;SET CONSTRAINTS ... IMMEDIATE 启动嵌套触发周期时则触发断言崩溃并漏检。两个补丁已就绪,要等批处理层是否从 19 回退有结论才推送。

postgres_fdw 对分区外表批量更新会造成数据损坏

Ajit AwekarPostgreSQL hackers

Ajit Awekar 的补丁修复了 2018 年就已知的缺陷:通过 postgres_fdw 对分区外表批量 DELETE/UPDATE 会造成数据逻辑损坏。Jakub Wartak 审查后指出代价不小:补丁用 ROW() 和列名各传一次数据,所有 postgres_fdw 外表的 CPU 开销约翻倍;逐行发出的语句无法按 tableoid 做分区裁剪,性能随行数与分区数之积恶化。部分问题还没有明确方案。

REPACK 在 beta 末期集中修补三处限制

Bharath RupireddyPostgreSQL hackers

PostgreSQL 19 的 REPACK 在 beta 末期集中修补三处限制:对不支持逻辑解码的非 heap 访问方法执行 REPACK (CONCURRENTLY) 可能静默丢数据,Bharath Rupireddy 的补丁补上访问方法检查;标记 user_catalog_table 的表将被禁止并发重整,以免内容对输出插件不可见;表所有者缺少 CONNECT 权限时的失败也已修好。

分区索引重建丢失副本标识的修复拆成三部分

Sami ImseihPostgreSQL hackers

Sami Imseih 把修复分区索引重建丢失 replica identity 的补丁拆成 v18 三部分:非后代分区的 DEPENDS ON EXTENSION 保留、SET EXPRESSION 的覆盖,以及后代分区索引属性的保留。Zsolt Parragi 测试时发现新的名称冲突:把某个分区索引改名成另一个分区的默认索引名之后,再用 ALTER TABLE 改列类型会报 relation already exists。