SQL/PGQ 的回退在 19 与 master 两个分支完成
Melanie Plageman 提议在 PostgreSQL 19 回退 SQL/PGQ 的目录表示与 pg_dump 支持,理由是遗留问题不少,等到 20 不受向后兼容约束时再彻底修更合适。Peter Eisentraut 同意并追问回退范围,Robert Haas 主张 REL_19_STABLE 和 master 都退,认为这个功能需要大改。Peter Eisentraut 随后确认回退已经完成,线程没有留下其他待办。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 24 条。
Melanie Plageman 提议在 PostgreSQL 19 回退 SQL/PGQ 的目录表示与 pg_dump 支持,理由是遗留问题不少,等到 20 不受向后兼容约束时再彻底修更合适。Peter Eisentraut 同意并追问回退范围,Robert Haas 主张 REL_19_STABLE 和 master 都退,认为这个功能需要大改。Peter Eisentraut 随后确认回退已经完成,线程没有留下其他待办。
PostgreSQL 19 的发布讨论进入关键阶段:多个功能面临回退,社区对这个版本的信心下降。Bruce Momjian 指出,移除功能之后还要再走一轮 beta 测试,这种情况前所未有。Joshua Drake 提议把发布推迟到 2027 年春季,理由是让存疑的功能有时间成熟,顺带解决夏季测试窗口的老问题,也免得大量开发工作被舍弃;他还说目前没有客户因为等 19 受阻,18 的采用率本来就偏低。
提交 c06d1a4 带来一个回归:恢复期间 heap_xlog_* 可能把 FSM 页标记为脏页,restartpoint 之后崩溃就可能留下撕裂写入,而恢复结束时并不会修复它们。FSM 自己用 RBM_ZERO_ON_ERROR 容忍撕裂页,但 heapam_relation_copy_data() 这类调用方没有这种容错。Alexander Korotkov 认为要求所有调用方都处理撕裂页不现实,已准备回退补丁并计划推送与回移。
不重启修改 shared_buffers 的补丁集这一轮修掉两个缺陷:收缩时 MADV_REMOVE 的范围越过 PROT_NONE 区域,在 Linux 5.10 上返回 EACCES 并直接 PANIC,改法是同时按当前分配边界和保留边界裁剪;EvictExtraBuffers 里还有竞态,缓冲区已置 BM_TAG_VALID 但 BM_VALID 未置时会被跳过,收缩后留下孤立映射。
Hannu Krosing 提交了 Direct TOAST 的 v2 补丁,用直接 TID 指针取代基于 OID 的索引查找来定位 TOAST chunk,作者给出的数据是写入 1MB 到 1GB 的值提速 7% 到 15%,数据进了 shared buffers 之后读取与原有 TOAST 相当。Michael Paquier 提出多项异议,包括 varatt_direct 实际是 20 字节而非 18 字节。
fcinfo 判断失效让嵌套 COALESCE 分支按限制条件估算,示例查询的行数高估约 6 倍。
缓冲区剩余不足一个向量时补丁会先补数据,遇到没有后续数据的 FIFO 就永久阻塞。
v3 补丁把等待拆成两段并正确处理 BGWH_STOPPED,避免 worker 启动失败时后端挂死。
补丁改到 v13,Heikki Linnakangas 担心在线与离线操作交织出的状态机过于复杂。
新工具借 pg_basebackup --incremental 与 pg_combinebackup 实现,线程上出现疑似 LLM 生成的评审。
LockHasWaiters() 误以为找到 LOCK 就一定有 PROCLOCK,快速路径锁并存时可能报错。
0002 在末列单条件查询上最多提速 35%,0003 在前置条件拒绝大量行时最多慢 34%。