PostgreSQL 全球开发小组推迟了 PostgreSQL 19 的发布,这是开源数据库 30 年历史上最重要的计划变更之一,因为 LLM 辅助的代码审查发现了更多缺陷,超出了志愿者社区在发布前可以解决的缺陷。

根据 The Register 10 月 16 日发布的一份报告,该版本原定于 9 月底或 10 月初发布,现在预计将在 11 月 19 日左右全面发布。除了延迟之外,开发人员还恢复了 8 到 10 个重要功能,将它们推到明年的 PostgreSQL 20。 更多相关背景,请参阅我们的人工智能资讯。

质量标准移至周期中期

PostgreSQL 咨询公司 EDB 的副总裁、该项目的主要提交者之一 Peter Eisentraut 在 10 月 9 日发表的题为“恢复将持续到士气提高”的博客文章中阐述了原因。

根据 Eisentraut 的说法,一些恢复的功能带有重大的架构缺陷,这些缺陷很难“在测试期间快速”修复。但更不寻常的问题是一系列较小的问题,以前的发布周期根本无法及时发现。

他写道,法学硕士协助的代码审查发现了“涉及各种边缘情况的相对无害的问题”,这些问题在过去可能要到发布后几年才会被注意到,通常在发布后的五年内作为错误修复浮出水面。通过人工智能审查,这些相同的缺陷现在会在代码发布之前出现。

“通过法学硕士辅助的代码审查,可以更快地发现此类问题,然后你就会盯着四十个缺陷报告的列表,”艾森特劳特写道。 “即使每个问题平均只需要三行修复,处理每个问题都会有固定的开销,然后你就会耗尽时间。”

质量转变的时机与其规模同样重要。当 PostgreSQL 19 的主要功能编写完成时,基于 LLM 的审核工具还没有发布前几个月那么强大。在代码提交后,该项目有效地提高了自己的质量标准。

“在编写和提交该功能后,有效质量标准已经提高,”Eisentraut 说。 “除非法学硕士辅助代码审查的能力以目前的速度不断提高,否则这种情况应该会在未来的开发周期中自行解决。”

不是“氛围编码”

Eisentraut 小心翼翼地将这种情况与人工智能生成的草率开发区分开来。他强调,这些恢复并不是“vibe 编码”的结果,因为在编写 PostgreSQL 19 的大部分新功能时,该技术还不可用。数据库的问题来自于更好的审查,而不是更糟糕的创作。

这种区别使得这一事件在更广泛的软件行业中引人注目。世界上最成熟的开源数据库——首先由 Michael Stonebraker 于 1986 年提出,并于 1995 年 Andrew Yu 和 Jolly Chen 用 SQL 取代了 POSTQUEL 查询语言时更名为 PostgreSQL——并没有因为开发人员的粗心而崩溃。它之所以推迟,是因为人工智能工具使现有的审查变得更加有效。

旗舰伤亡:图查询

该版本中最突出的功能是支持 SQL 属性图查询 (SQL/PGQ),这是一种图匹配功能,于 2023 年成为 SQL 标准的一部分。该语法允许开发人员直接在 SQL 中探索由边连接的节点之间的关系,而 PostgreSQL 的实现是最受期待的 PostgreSQL 19 功能之一。

它因未解决的正确性问题而被删除。据 The Register 报道,PostgreSQL 贡献者 Tom Lane 在做出决定之前就曾警告过:“此时此刻,我愿意打赌,如果我们在 v19 中发布它,那么在发布后会发现一些直到 v20 之前无法修复的错误。”

恢复的功能(包括 SQL/PGQ)预计将出现在 PostgreSQL 20 中。直到最近,该版本还被认为根本不包含任何新功能——这是一个以稳定性为重点的后续版本。它现在可能会吸收被取代的 PostgreSQL 19 工作。

11 月仍然发货的商品

尽管出现了延迟,Eisentraut 承诺 PostgreSQL 19 仍将是“一个很棒的版本”。保留的功能之一是 REPACK CONCURRENTLY,它无需表锁定 VACUUM FULL 操作即可回收磁盘空间,而表锁定 VACUUM FULL 操作长期以来一直是生产数据库的痛点。

“经过所有额外的审查后,它将非常稳健,”他说。

每个工程团队的信号

PostgreSQL 事件是人工智能代码审查最清晰的现实例子之一,它不仅改变了软件的构建方式,还改变了“完成”的含义。一个几十年来每年都发布可靠版本的项目发现,其新的审查工具产生的可操作的结果比其维护人员在现有日历中处理的结果要多。

对于押注于 AI 辅助开发的企业团队来说,PostgreSQL 社区的教训是值得衡量的:AI 审核可以大幅提高质量,但组织需要审核能力(人力时间、分类流程和进度裕度)来吸收模型发现的内容。 PostgreSQL 选择了另一种选择:移动发布日期。

对于计划升级的数据库管理员来说,任何主要版本迁移的实用指南都没有变化:针对 PostgreSQL 19 beta 测试工作负载,但预计生产就绪版本将于 11 月 19 日左右发布,而不是最初的秋季窗口。

随着人工智能审查工具在开源生态系统中的传播——Linux 内核最近正式制定了人工智能工具使用的披露规则,The Register 密切关注了一场辩论——PostgreSQL 的经验提供了预览。更好的审查会发现更多错误。更多错误需要时间来修复。有时,当人工智能发现的缺陷多于人类能够处理的缺陷时,最健康的反应就是稍后发货。

---

掌握AI最新动态

获取最新的AI新闻、分析和突破——尽在一处。

阅读更多AI新闻 →