PostgreSQLのコアコミッターであるRobert Haas氏は10月30日、今年のメジャーバージョンが遅れている理由をブログで説明した。過去10年、PostgreSQLのメジャーバージョンは9月中旬から10月中旬の間にリリースされてきたが、PostgreSQL 19は11月にずれ込む可能性が高く、プロジェクト側がさらに先送りする可能性もある。同氏が挙げた理由は一言に尽きる。
“The short answer is that LLMs happened.”(端的に言えば、LLMが現れたということだ。)
Haas氏は現在、Databricksのシニア・プリンシパル・ソフトウェアエンジニアを務める。この記事は同氏個人の見解で、新たなリリース日は示されていない。
最終月に大型機能が3件取り下げられた
機能フリーズは毎年4月8日で、フリーズ後に機能を取り下げること自体は珍しくない。今年違うのは時期と規模で、8月27日から9月15日にかけて、大型機能が相次いで3件リバートされた。
UPDATE/DELETE FOR PORTION OF- SQLプロパティグラフクエリ(SQL/PGQ)
ALTER TABLE ... MERGE PARTITION / SPLIT PARTITION
Haas氏によれば、例年も取り下げはあるが、これほど遅い時期に大型機能をまとめて外すことはまれだという。
コミット数は6割増、コミッターが雑になったわけではない
同氏は集計期間を毎年4月8日から9月25日に固定し、2年分の修正量を比べた。昨年REL_18_STABLEに入ったコミットは724件、今年REL_19_STABLEに入ったのは1169件で、増加率は60%を超える。一つ前の安定ブランチで見ると、昨年のREL_17_STABLEが248件、今年のREL_18_STABLEが433件で、増加率は74%を超える。
Haas氏は、コミットが増えたのは開発者のコードの質が落ちたからではないとみている。コミッターの慎重さは例年並みで、変わったのは発見の段階だという。多くの人がLLMを使ってPostgreSQLのバグを探し、そのまま報告するようになった。
“What's different now is that it's become vastly easier to find those bugs.”(今までと違うのは、そうしたバグを見つけるのが格段に楽になったことだ。)
この因果づけには欠けている部分がある。コミット履歴にはバグを誰がどのツールで見つけたかは記録されず、記事にもLLMによる報告の割合は示されていない。上記の増加幅は実測値であり、「主因はLLM」というのは古参コミッターの観察である。
詰まっているのは人手によるレビュー
遅延の仕組みは二層ある。第一に、バグが増えれば修正に時間がかかる。LLMはパッチの草案を書けるが、正しいとは限らず、プロジェクトの規約に沿っているとも限らない。最後はコミッターが一件ずつレビューしてからマージする必要がある。第二の層は見えにくい。新バージョンの内容を精査するはずだった時間が、セキュリティ問題や旧ブランチの欠陥対応に取られ、どの機能を取り下げるかという判断も後ろにずれた。
数日前に話題になったEpoch AIのFirefox実験と並べて見るとわかりやすい。Epochが測ったのは攻撃側で、GLM 5.3を使い、パッチ公開後の猶予期間にエクスプロイトを書かせたもので、バージョンあたりの計算コストは約1000ドルだった。Haas氏が語るのは保守する側の話だ。同じ能力が数十年続く老舗プロジェクトに向けられると、まず報告件数が増え、コードをレビューできる人の数はそれに合わせては増えない。両者に共通する変数は脆弱性を見つけるコストであり、それが修正のコストより速く下がっている。
これは中国のチームにとっても遠い話ではない。クラウド型データベース製品の多くはPostgreSQLをベースに独自開発しており、上流への取り込み量が6割から7割増えれば、下流でパッチに追随する作業量も相応に膨らむ可能性がある。影響がどの程度になるかは、現時点でどのベンダーからも数字は出ていない。
40年分の蓄積こそ長期的な圧力
Haas氏は今回の延期そのものには慌てていない。長い目で見れば大きな遅れではなく、品質を重んじるプロジェクトの姿勢から来たものだと述べる。AIが問題を見つけたからといって、コードベースの品質に対する評価は変わらないとも強調した。
同氏が不安を抱くのはその先だ。プロジェクトには人間が見つけられなかったバグが約40年分たまっており、LLMはその多くを掘り起こせる。本人の言葉では“how are we ever going to catch up”(私たちはどうやって追いつけるのか)。今後は新機能のすべてがAIの目に通されることになり、それは圧力であると同時に、コードをより堅牢にする機会にもなりうる。解決策は示しておらず、自分も含め多くの人が方法を探っているとだけ述べた。
PostgreSQL 19がいつ出るかは、リリースチームの今後の発表次第となる。
参考資料:Robert Haas氏の個人ブログ、CocoLoop、Epoch AIの公開実験レポート。ブランチ別のコミット数はHaas氏の記事が示す集計方法に従っており、独自の再計算は行っていない。