PostgreSQL アップグレードサイクル
PostgreSQL 年次アップグレードサイクル
GitLab 16.0 から、私たちは PostgreSQL の年次アップグレードサイクルを採用しています。
GitLab のメジャーバージョンごとに、必要とされる PostgreSQL の最低バージョンを次のメジャーバージョンに引き上げます。いくつかの例を示します。
- GitLab 17.0 では、PostgreSQL 14 がサポートされる最低 PostgreSQL バージョンになります。
- GitLab 18.0 では、PostgreSQL 16 がサポートされる最低 PostgreSQL バージョンになります。
現在の最低 PostgreSQL バージョンの廃止予告は、GitLab の各メジャーバージョンのリリースとともに、1 年前に発表します。
- GitLab 15.0 では PostgreSQL 12 の廃止を発表しました(GitLab 16.0 で削除予定)。
- GitLab 16.0 では、PostgreSQL 13 の廃止を発表します(GitLab 17.0 で削除予定)。
GitLab.com は毎年 Q2 に次のメジャーバージョンへのアップグレードを実施します。インフラチームは毎年 Q1 にアップグレードの準備を行い、Q2 にアップグレードを実行します。
Omnibus およびチャート向けの次のメジャー PG バージョンのオプションサポートは、GitLab の各メジャーバージョンのリリース時にテストおよび検証されます。次のメジャー PostgreSQL バージョンは、メジャーバージョン
.0とマイナーバージョン.4の間で利用可能となり、その後リリースサイクルの中盤(〜マイナーバージョン.6)で新規インストールのデフォルトになります。例えば。- GitLab
16.0では、Omnibus およびチャートにおける PostgreSQL 14 サポートのテストと検証を行います。 - GitLab
16.0から16.4の間に、PostgreSQL 14 をオプションのサポートバージョンとして Omnibus およびチャートに追加します。 16.6前後に、PostgreSQL 14 が Omnibus の新規インストールのデフォルトになります。- GitLab
15.xではこの変更は必要ありません。PostgreSQL 12 を最低バージョンとして維持しており、PostgreSQL 13 のサポートはすでに GitLab15.0で追加済みです。
- GitLab
一覧表:
| GitLab バージョン | 最低サポートバージョン | オプションサポートバージョン | Omnibus デフォルト(新規インストール) | リリースノート | GitLab.com |
|---|---|---|---|---|---|
| 16.6 | PG13 | PG14 | PG14 | GitLab.com は FY25-Q2 に PG16 へアップグレード予定 | |
| 17.0 | PG14 | PG16 | PG14 | PG16 のサポートは 17.0 から 17.4 の間に Omnibus およびチャートに追加予定 PG14 のサポートは 18.0 で削除予定 | |
| 17.6 | PG14 | PG16 | PG16 | ||
| 18.0 | PG16 | PG17 | PG16 | GitLab.com は FY26-Q2 に PG17 へアップグレード予定 |
PostgreSQL マイナーリリースサイクル
各メジャー Postgres バージョンは、Postgres が「マイナーリリース」と呼ぶ形で少なくとも 3 か月に 1 回、バグ修正および必要に応じてセキュリティ修正を受け取ります。多くの人々にとっては「パッチ」という用語の方が馴染み深いかもしれませんが、これはほぼ同じことを指します。
Postgres は通常、3 か月ごとにマイナーリリースを公開します。特段の記載がない限り、これらのリリースの目標日は 2 月、5 月、8 月、11 月の第 2 木曜日です。 Postgres リリースチームが重大なバグやセキュリティ修正を定期スケジュールのマイナーリリースまで待てないと判断した場合、マイナーリリースロードマップ外でリリースを行うことがあります。
Postgres のマイナーリリースロードマップはこちらで確認できます: https://www.postgresql.org/developer/roadmap/
データベースオペレーションチーム(DBO チーム)は、リリースノートを検討した上で各マイナーリリースを適用するかどうかを判断します。マイナーリリースのインストールを検討する際は、含まれるバグ修正やセキュリティ強化が GitLab 環境に関連する可能性があるかどうかを評価します。また、ウェブ上のコミュニティフォーラムを確認し、そのマイナーリリースのインストールで問題が報告されていないかをチェックします。
個々のマイナーリリースは、DBO チームの異なるメンバーが輪番でレビューします。今後インストールする可能性のある PostgreSQL のマイナーリリースを把握することは、特定のチームメンバー一人の責任ではありません。次のマイナーリリースの評価担当者は、現在のマイナーリリースの Issue がクローズされたときに割り当てられます。
新しいマイナーリリースは、postgresql minor release テンプレートを使用して DBO Issue Tracker リポジトリに Issue を作成し、評価します。 新しいマイナーリリースは、本番リポジトリに変更リクエストを作成した後にインストールします。
DBO チームは通常、マイナーリリースが公開されてから少なくとも 1 週間は評価を開始するのを待ちます。
マイナーリリースはまずステージング環境にインストールし、本番環境にインストールする前に少なくとも 2 週間そこで稼働させることが非常に重要です。
