PostgreSQLグローバル開発グループは9月24日、PostgreSQL 19 Beta 4を公開した。このベータは、19に入る予定だった機能をいくつも差し戻した。
差し戻されたのは、SQL/PGQ(プロパティグラフ問い合わせ)、データチェックサムのオンライン有効化・無効化、FOR PORTION OF句による時間的(temporal)な更新・削除、ALTER TABLE ... MERGE/SPLIT PARTITIONSだ。pg_get_role_ddl()などDDL出力関数3つも削除された。
開発グループは、PostgreSQLは何よりも信頼できなければならず、リリース日程も予測可能であるべきだと理由を挙げた。外された機能は、さらにレビューを経て後のメジャーリリースに入る可能性がある。
以前のバージョンからBeta 4へ移るには、メジャーバージョン間のアップグレードと同じ方法、例えばpg_upgradeやpg_dump/pg_restoreが必要だ。
アップグレード文書によると、マイナーリリースは内部の保存形式を変えないため、実行ファイルを入れ替えるだけでよい。メジャーリリースは保存形式が変わりうるので、ダンプとリストア、pg_upgrade、論理レプリケーションのいずれかでデータを移す。
文書は、新しいサーバーを別のディレクトリとポートに入れて旧サーバーと並行して動かすとダウンタイムを最小にできると説明し、移行コマンドの例として次を挙げる。
pg_dumpall -p 5432 | psql -d postgres -p 5433文書は、新しいメジャーバージョンには利用者から見える非互換な変更が通常含まれると記している。そのためリリースノートのMigration項目を読むよう促し、管理機能、SQL、ライブラリAPI、システムカタログ、サーバーC APIの変化を検証の区分として挙げる。
注意点:まだリリース前のベータ
発表によれば、次の予定は10月初めのリリース候補で、テストと評価次第でGAも10月になりうる。確定したリリース日ではない。
発表は、ベータ期間中にデータベースの動作、機能の詳細、APIが小さく変わる可能性があるとしている。今回の差し戻し一覧にない機能も、最終形が確定したわけではない。
19の文書もリリースまでに変わりうる。この記事は、実際にデータベースや拡張を移行した結果を含んでいない。
差し戻された機能を除いた移行検証の計画
以前のベータを見て差し戻された構文を使い始めていたなら、その部分に印を付けるのが最初の一歩だ。
次に、代表的なデータで選んだ移行方法をリハーサルし、拡張と管理ツールが新バージョンで動くかを併せて確かめる。新機能なしでも動く経路を残しておけば、機能構成が変わっても移行そのものを判断できる。
PostgreSQL 19 Beta 4では、差し戻し一覧とメジャーアップグレードの手順は別々の軸の変化だ。