PostgreSQL 19 再次回退多个核心特性!正式版本发布预计延期两个月

John Doe 九月 18, 2026

每年秋季准时迭代的 PostgreSQL 大版本,今年大概率要打破惯例了。

目录

image

进入 Beta 测试阶段的 PostgreSQL 19 近期迎来密集的特性回退潮:仅 9 月 8 日到 16 日的 9 天时间里,稳定分支就发生了 6 次集中回退,累计撤出 74 个提交,数量甚至超过了同期合入的 71 个新提交。随着核心团队不断收缩版本范围、优先保障代码质量,业内普遍预计 PostgreSQL 19 正式版的发布时间将比原定计划延后约两个月。

一周撤回 74 个提交:这些核心特性暂时告别 PG19

本轮回退覆盖了多项社区期待已久的重量级功能,从底层数据校验到时态语法、从系统函数到语法兼容,多个方向的特性都因成熟度不足被撤出稳定分支:

1. 在线数据校验和切换:30 个提交整体撤回

作为数据一致性方向的重要改进,在线数据校验和开关 允许用户在集群不停机的前提下,开启或关闭数据页校验和功能。

该特性于 9 月 16 日被整体回退,共涉及 30 个提交。社区给出的理由是:Beta 阶段已经出现了大量事后修复,开发团队担心正式发布后还会暴露出更多潜在问题,为避免带缺陷上线选择全部撤回。目前该功能在主分支仍在继续开发,目标瞄准 PostgreSQL 20。

2. UPDATE/DELETE FOR PORTION OF:时态特性全线暂缓

针对时态范围列的 UPDATE/DELETE FOR PORTION OF 语法,是 PostgreSQL 时态数据处理能力的核心升级,可以大幅简化边界时间区间的计算逻辑。

9 月 15 日该特性被正式回退,涉及 23 个提交。从提交记录来看,23 项改动中有 14 项都是修复、约束、异常处理类内容,侧面反映出该特性成熟度不足、边界问题较多,最终未能赶上本次版本窗口。

3. 系统 DDL 导出函数:意外撤出的实用功能

9 月 13 日,pg_get_role_ddl()pg_get_tablespace_ddl()pg_get_database_ddl() 三个系统函数被整体回退,共涉及 13 个提交,对应的整套 DDL 重构方案全部暂缓。

值得注意的是,这项功能并不在早前社区列出的风险特性清单中,属于本次 Beta 后期意外撤出的特性。

4. CREATE SCHEMA 增强:兼容性让步于功能

9 月 11 日,资深开发者 Tom Lane 连续回退了两项 CREATE SCHEMA 相关改动:一项是支持更多对象类型的语法扩展,另一项是子命令重排序优化。

两次回退的核心理由一致:兼容性破坏带来的影响,超过了功能升级带来的收益。为了保证上下游生态的平滑兼容,社区选择放弃本次版本的语法增强。

5. 标识符大小写折叠:区域编码问题导致回退

9 月 10 日,“基于默认区域的标识符大小写折叠” 特性被撤回。原因是在 C 语言区域与单字节编码场景下,内置提供者出现了非预期的行为差异,存在兼容性风险。

加上更早前已经撤出的特性,PostgreSQL 19 已经拿掉了多个明星级功能:

  • SQL/PGQ 属性图查询:9 月 7 日回退,共 47 个提交,是 PG19 最受关注的图查询能力,因整体设计成熟度不足暂缓
  • 外键检查快速路径批处理:9 月 10 日撤回批处理优化,仅保留基础的逐行检查路径

为什么集中回退?PG19 的质量保卫战

PostgreSQL 拥有一套运行了多年的成熟开发流程:新补丁通过 CommitFest 公开评审、由核心提交者合入开发分支、Beta 版开启后进入约 6 个月的全社区测试、问题修复与不成熟特性回退并行、最终发布正式版并按季度输出维护更新。

往年的版本回退大多集中在 Beta 初期,而 PG19 之所以引发关注,核心在于三个变化:

  1. 回退总量创新高:自 2025 年 6 月 Beta 开启至今,PG19 已经累计发生 53 次特性回退,超过了 PG18 全周期的 44 次。
  2. 回退时机偏晚:大量重量级特性在 Beta 后期才被集中撤出,距离原定发布窗口非常近,直接影响发布节奏。
  3. AI 深度参与测试:这是 PG19 最特殊的一点。社区开发者开始大量使用 AI 工具挖掘深层 Bug、生成可复现测试用例,很多之前人工测试难以覆盖的边界问题被集中发现,既提升了代码质量,也加快了特性淘汰的节奏。

对 PostgreSQL 社区而言,这并不是 “开发失控”,反而是流程正常运转的体现,质量永远优先于发布时间。宁可延期、砍特性,也不会带着已知的设计缺陷和稳定性风险推出正式版。

不用悲观:这些重磅特性还留在 PG19

尽管多个明星特性被撤回,但 PG19 依然有不少值得期待的改进,其中很多已经进入稳定打磨阶段:

  • REPACK 与并发 REPACK:本轮 71 个提交中有 15 个都围绕 REPACK 能力展开,是当前版本投入最多的特性之一。同时社区也收紧了命令边界,仅支持堆访问方法、禁止在用户目录表执行、无效索引直接报错,成熟度较高。
  • 并行自动清理(Parallel autovacuum):大幅提升大表清理效率,降低业务高峰期的清理影响。
  • pg_plan_advice 查询计划建议:内置的执行计划优化建议能力,帮助开发者快速定位慢查询优化点。
  • ON CONFLICT DO SELECT:Upsert 语法支持直接返回已存在的行数据,简化业务写逻辑。
  • 窗口函数 IGNORE NULLS:补齐窗口函数的重要语法能力,更贴近 SQL 标准。
  • 多项逻辑复制改进:包括复制性能、容错能力等多个维度的优化。

发布延期两个月,企业用户该如何应对?

按照当前的修复与回退节奏,PostgreSQL 19 Beta 4 计划于 9 月 24 日推出,正式版大概率会比原定的秋季发布窗口延后约两个月,后续不排除还有少量特性继续调整。

对于生产环境用户,有两点建议:

  1. 当前升级首选 PG18:PostgreSQL 18 已经经过多轮补丁打磨,是当前最稳妥的稳定版本,不建议生产环境等待 PG19。
  2. 新特性关注 PG20:属性图查询、分区合并拆分、GROUP BY ALL、在线校验和等本次撤回的特性,大多会在 PG20 重新回归,有相关需求的用户可以提前关注主分支进展。

从另一个角度看,密集的特性回退恰恰是 PostgreSQL 社区严谨性的注脚。在 “快速上线、快速迭代” 成为行业常态的今天,核心团队依然坚持 “不成熟就撤回” 的准则,反而让最终交付的版本更值得信赖。