varatt_external 将改名为 8 字节 TOAST 让路
Michael Paquier 为 v20 的 8 字节 TOAST 值预留命名,扩展开发者可能要跟着改。
保留原始来源与发布日期的新闻、博客和活动。
Michael Paquier 为 v20 的 8 字节 TOAST 值预留命名,扩展开发者可能要跟着改。
启用 sync_replication_slots 时失效无法持久:同步 worker 会用更新的 catalog_xmin 把槽重建回来。
Sami Imseih 把修复分区索引重建丢失 replica identity 的补丁拆成 v18 三部分:非后代分区的 DEPENDS ON EXTENSION 保留、SET EXPRESSION 的覆盖,以及后代分区索引属性的保留。Zsolt Parragi 测试时发现新的名称冲突:把某个分区索引改名成另一个分区的默认索引名之后,再用 ALTER TABLE 改列类型会报 relation already exists。
PostgreSQL 19 的 REPACK 在 beta 末期集中修补三处限制:对不支持逻辑解码的非 heap 访问方法执行 REPACK (CONCURRENTLY) 可能静默丢数据,Bharath Rupireddy 的补丁补上访问方法检查;标记 user_catalog_table 的表将被禁止并发重整,以免内容对输出插件不可见;表所有者缺少 CONNECT 权限时的失败也已修好。
Ajit Awekar 的补丁修复了 2018 年就已知的缺陷:通过 postgres_fdw 对分区外表批量 DELETE/UPDATE 会造成数据逻辑损坏。Jakub Wartak 审查后指出代价不小:补丁用 ROW() 和列名各传一次数据,所有 postgres_fdw 外表的 CPU 开销约翻倍;逐行发出的语句无法按 tableoid 做分区裁剪,性能随行数与分区数之积恶化。部分问题还没有明确方案。
PostgreSQL 19 新的外键快速路径批处理层被查出两个缺陷:在 AFTER 触发器里执行 ALTER TABLE ... ADD FOREIGN KEY 时,验证检查被错误并入外层批次,外键检查因此被跳过,孤立行会当作合法数据提交;SET CONSTRAINTS ... IMMEDIATE 启动嵌套触发周期时则触发断言崩溃并漏检。两个补丁已就绪,要等批处理层是否从 19 回退有结论才推送。
Seedfast 的 Mikhail Shytsko 在 PostgreSQL 18.6 与 19beta3 上逐项验证 session_replication_role = replica:外键、ON DELETE CASCADE、规则和事件触发器确实静默,标记 ENABLE REPLICA 的触发器反而开始触发,而 CHECK、NOT NULL、唯一约束和行级安全照常拦截。恢复时只有 NOT ENFORCED 切回会扫表。
Azure PostgreSQL Flexible Server 只带 Apache 2 版 TimescaleDB,缺压缩、连续聚合与 skip-scan。
补丁去掉对游标的依赖后,postgres_fdw 已能连上并不支持游标的 MotherDuck 兼容端点。
Peter Smith 用约 300 种继承与分区组合验证了 Shveta malik 提出的排除规则,结论是无歧义。
同列同时建有 btree 与 GiST 索引时,等值查询可能选中 GiST,代价估算偏差让执行慢约 300 倍。