PostgreSQL 19延期:LLM代码评审揪出的缺陷,人类来不及修完
作者: CBISMB
责任编辑: 邹大斌
来源: CBISMB
时间: 2026-10-20 10:47
关键字: PostgreSQL ,开源数据库 ,LLM代码评审 ,SQL/PGQ ,REPACK CONCURRENTLY
浏览: 0
点赞: 0
收藏: 0
PostgreSQL全球开发组推迟了PostgreSQL 19的发布,并且罕见地撤回了数量异常之多的特性。这款广受欢迎的开源数据库原定于9月底或10月初发布,如今预计要到11月19日前后才能正式可用。开发团队同时砍掉了8到10个重量级特性。
这些被撤回的特性要到明年的PostgreSQL 20才会重新登场。PostgreSQL支持与咨询服务商EDB的副总裁、PostgreSQL核心提交者Peter Eisentraut在一篇博客中解释,如此规模的撤回,至少有一部分原因要归于开发者所使用的LLM代码评审。
他表示,在被撤回的特性中,有一些存在严重的架构缺陷,很难"在beta周期内快速"修复。但引入LLM辅助代码评审之后,还翻出了一条长长的尾巴,也就是大量"涉及各种边缘场景、本身相对无害的问题"。放在过去,这类问题可能很久以后才会被发现,大概率是在正式发布之后的五年里陆续打补丁。
缺陷清单长得看不见底
Eisentraut描述了那种处境:有了LLM辅助代码评审,这类问题被找出来的速度快得多,于是眼前摊着一份四十条缺陷报告的清单。即便平均每条只需要改三行代码,处理每一条也有固定的开销,时间就这么用完了。
据其介绍,PostgreSQL 19的大特性写就之时,LLM辅助代码评审还不像现在这么好用;但在临近发布的几个月里,这套AI辅助评审被理解得更透,效果也更强了。
他在博客中写道,特性写完并提交之后,实际的质量门槛被抬高了。除非LLM辅助代码评审的能力能保持当前速度继续提升,否则这个局面在未来的开发周期里应当会自行缓解。
不是"氛围编程"惹的祸
Eisentraut还特意强调,这次撤回与开发过程中的"氛围编程"无关,因为大多数新特性写出来的时候,这种编程方式还不存在。
PostgreSQL最初由Michael Stonebraker于1986年提出。1994年,Andrew Yu和Jolly Chen用SQL替换了原来的查询语言POSTQUEL;1995年,这款数据库以更宽松的许可证开放,允许自由使用与修改,并更名为PostgreSQL。此后,凭借三大超大规模云厂商在其之上构建的服务,以及一批线路协议兼容的分布式系统,它成为专业开发者中最流行的数据库。
在被撤出PostgreSQL 19的特性中,包括对SQL属性图查询(SQL/PGQ)的支持。这项能力2023年进入SQL标准,提供了用于探索由边连接的节点之间关系的语法。PostgreSQL的这套实现因未解决的问题被移除。
当时,PostgreSQL贡献者Tom Lane就警告说,到这个地步,他愿意拿一顿晚饭打赌:如果v19就这么发出去,发布后会发现一些bug,而且要等到v20才能修。
延期但不降质
尽管延期,Eisentraut仍承诺PostgreSQL 19会是一个出色的版本,其中包含REPACK CONCURRENTLY,可以避开过去用于回收磁盘空间、需要锁表的VACUUM FULL操作。他说,经过这么多额外的审视,这个版本会非常健壮。
从PostgreSQL 19撤下的特性很可能会进入PostgreSQL 20。就在几个月前,开发者还预期PostgreSQL 20不会有新特性,只有缺陷修复;而现在,它大概率要接下上一个版本没来得及发的新功能。






京公网安备:11010502051901号