毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
いつも書いているGitLabのPostgresqlのバージョンアップを実施したという話になります。
■2019年12月10日
OmnibusインストールされたGitLabのPostgreSQLを9.6.14から10.9にアップグレードした話 - Qiita
https://qiita.com/ynott/items/653236f1a5c2ab8cf69f
■2020年05月03日
OmnibusインストールされたGitLab 12.10のPostgreSQLを10.12から11.7にアップグレードした話 - Qiita
https://qiita.com/ynott/items/3b076ef52ad0cd7f9220
■2023年05月28日
OmnibusインストールされたGitLab 13.5.3のPostgreSQLを12.4にアップグレードした話 #PostgreSQL - Qiita
https://qiita.com/ynott/items/73e5f1856637fd218d35
■2023年12月29日
OmnibusインストールされたGitLab 16.7のPostgreSQLを14.9にアップグレードした話 #omnibus-gitlab - Qiita
https://qiita.com/ynott/items/8ac94ff782468e0af19d
■GitLabで利用できるPostgreSQLの最小バージョン
17.7でのフレッシュインストールが16.4になったのでアップグレードします。
1. GitLab 17.7 で PostgreSQL 16.4にアップグレード
1-1. アップグレードする方法を確認する
データベースアップグレードの方法は、以下にあります。
Database settings | GitLab
https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server
gitlab-ctl pg-upgrade
を実行すれば基本的にいいのですが、事前にチェックしておく項目がいくつかあります。
- 最新のGitLabにバージョンアップする
- sudo gitlab-ctl reconfigureがちゃんと通る事を確認する
- ディスク容量が空いている事を確認する
1-2. sudo gitlab-ctl reconfigure
を実行する
反映されていない設定が存在しないか、reconfigureします。
sudo gitlab-ctl reconfigure
実行結果
$ sudo gitlab-ctl reconfigure
[2025-01-03T14:14:32+09:00] INFO: Started Cinc Zero at chefzero://localhost:1 with repository at /opt/gitlab/embedded (One version per cookbook)
Cinc Client, version 18.3.0
Patents: https://www.chef.io/patents
Infra Phase starting
[2025-01-03T14:14:32+09:00] INFO: *** Cinc Client 18.3.0 ***
[2025-01-03T14:14:32+09:00] INFO: Platform: x86_64-linux
[2025-01-03T14:14:32+09:00] INFO: Cinc-client pid: 1921
<<<中略>>>
[2025-01-03T14:14:55+09:00] INFO: Cinc Client Run complete in 20.607743866 seconds
Running handlers:
[2025-01-03T14:14:55+09:00] INFO: Running report handlers
Running handlers complete
[2025-01-03T14:14:55+09:00] INFO: Report handlers complete
Infra Phase complete, 8/728 resources updated in 22 seconds
gitlab Reconfigured!
1-3. 空き容量を確認する
sudo du -sh /var/opt/gitlab/postgresql/data
436M /var/opt/gitlab/postgresql/data
df -h
/dev/nvme0n1p1 49G 14G 35G 29% /
1-4. sudo gitlab-ctl pg-upgrade
を実行する
以下のコマンドでアップグレードします。
今回は-V 16
でバージョン指定が必要でした。
sudo gitlab-ctl pg-upgrade -V 16
sudo gitlab-ctl pg-upgrade
コマンドを打って、PostgeSQLのバージョンアップ開始されるまでに30秒猶予が与えられます。なんか止まったとか焦らないようにしましょう。
心の準備ができてない場合は、ctrl+cでキャンセルできます。
アップグレードが開始されるのを30秒正座して待ちましょう。
以下のように出れば成功です。
Toggling services: OK
==== Upgrade has completed ====
Please verify everything is working and run the following if so
sudo rm -rf /var/opt/gitlab/postgresql/data.14
sudo rm -f /var/opt/gitlab/postgresql-version.old
古いファイルを消せとメッセージがでていますが、いったん残しておきましょう。
1-5. 確認する
以前は、sudo gitlab-ctl restart
しないとバージョンが切り替わりませんでしたが、今回は何もしなくてもリロードするだけで反映されました。
2. まとめ
Postgresqlのバージョンが16.4になりました。