PostgreSQL 19 的正式发布计划已被推迟。这款全球最流行的开源数据库的最新版本,原定发布时间为 9 月下旬或 10 月初,现预计将于 11 月 19 日左右普遍可用。与此同时,开发团队决定从该版本中移除 8 到 10 项重要功能。

据 PostgreSQL 技术支持与咨询公司 EDB 副总裁、核心提交者 Peter Eisentraut 解释,此次延期及部分功能的回退,主要归因于引入大语言模型(LLM)辅助代码审查后所揭示的问题。Eisentraut 在博客文章中指出,被移除的功能中存在严重的架构缺陷,难以在测试阶段进行快速修复。此外,LLM 辅助审查还暴露了大量涉及边缘案例的“相对无害”问题。在过去,这类细微瑕疵往往直到发布数年后才会被发现并修复;而现在,通过自动化检查能迅速生成包含数十份报告的缺陷列表。尽管每个问题的平均修复代码量可能仅为三行,但处理这些琐碎问题的固定开销累积起来,严重挤占了开发时间。
Eisentraut 强调,这并非因为新功能编写时存在“振动编码”(vibe coding)现象,因为在大多数功能开发初期,LLM 辅助技术尚未达到当前的有效水平。随着功能提交后质量标准的大幅提升,若 LLM 的代码审查能力不再以目前的速度继续进步,此类情况应在未来的开发周期中自行缓解。
被移除的关键特性:SQL/PGQ
PostgreSQL 19 中撤销的主要功能之一是 SQL 属性图查询(SQL/PGQ)支持。该语法允许用户通过边连接节点来探索关系,并于 2023 年被纳入 SQL 标准。由于实现中存在未解决的问题,PostgreSQL 贡献者 Tom Lane 曾警告称:“如果我们在 v19 中发布这一功能,我敢打赌,直到 v20 都无法修复随之而来的发布后错误。”
尽管经历了延期和功能削减,Eisentraut 仍承诺 PostgreSQL 19 将是一个“伟大的版本”。其中保留的核心亮点包括 REPACK CONCURRENTLY 功能,该功能避免了传统 VACUUM FULL 操作所需的表锁,从而在不中断服务的情况下回收磁盘空间。经过额外的严格审查,剩余功能的稳定性将得到显著增强。那些从 PostgreSQL 19 中撤下的功能,极有可能进入下一个主要版本 PostgreSQL 20。此前开发者曾预期 PostgreSQL 20 不会包含新功能,但 Eisentraut 表示,现在它很可能会继承早期版本中遗留的特性。
背景回顾
PostgreSQL 的历史可追溯至 1986 年,由 Michael Stonebraker 首次提出。1994 年,Andrew Yu 和 Jolly Chen 使用 SQL 取代了原有的 POSTQUEL 查询语言。随后在 1995 年,该项目更名为 PostgreSQL,并在更宽松的许可证下开放源码,允许自由使用和修改。凭借三大超级扩展商基于其构建的服务以及广泛的有线兼容分布式系统生态,PostgreSQL 已成为专业开发人员中最受欢迎的数据库之一。





