毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
ここ1年ぐらいのOmnibus GitLabは立て続けにPostgreSQLがアップグレードされました。
2019年末にPostgreSQL 9.6系だったGitLabがPostgreSQL 10系にアップグレードされました。
2020年5月に、PostgreSQL 10系が11系にアップグレードされ、
2020年10月に、PostgreSQL 12系のサポートが追加されました。
■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
今年はちょっとアップグレードの回数が多かったのですが、これからはPostgreSQLのメジャーバージョンアップに対応して毎年1回アップグレードされていく予定です。
古いPostgreSQLは、順次使えなくなっていくのでPostgreSQLのアップグレードは必須です。
■GitLabで利用できるPostgreSQLの最小バージョン
GitLabのバージョン | PostgreSQLの最小バージョン |
---|---|
GitLab 10 | 9.6系 |
GitLab 11 | 10系 |
GitLab 12 | 10系 |
GitLab 13 | 11系 |
GitLab 14 | 12系 |
PostgreSQL versions shipped with Omnibus GitLab | GitLab
https://docs.gitlab.com/omnibus/package-information/postgresql_versions.html
1. GitLab 13.5.3 で PostgreSQL 12.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
実行結果
user@gitlab:~$ sudo gitlab-ctl reconfigure
[sudo] user のパスワード:
Starting Chef Infra Client, version 15.14.0
resolving cookbooks for run list: ["gitlab-ee"]
Synchronizing Cookbooks:
- gitlab-ee (0.0.1)
- package (0.1.0)
- gitlab (0.0.1)
<<<中略>>>
Running handlers:
Running handlers complete
Chef Infra Client finished, 5/879 resources updated in 32 seconds
gitlab Reconfigured!
1-3. 空き容量を確認する
user@gitlab:~$ sudo du -sh /var/opt/gitlab/postgresql/data
657M /var/opt/gitlab/postgresql/data
user@gitlab:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sde 250G 55G 196G 22% /var/opt/gitlab
1-4. sudo gitlab-ctl pg-upgrade
を実行する
GitLab 13.3以降の場合は、sudo gitlab-ctl pg-upgrade -V 12
というコマンドオプションを付けます。
sudo gitlab-ctl pg-upgrade -V 12
コマンドを打って、PostgeSQLのバージョンアップ開始されるまでに30秒猶予が与えられます。なんか止まったとか焦らないようにしましょう。
user@gitlab:~$ sudo gitlab-ctl pg-upgrade -V 12
<<<中略>>>
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.11
sudo rm -f /var/opt/gitlab/postgresql-version.old
1-5. 確認する
そのままだと、PostgreSQLが11のままの表示だったので、sudo gitlab-ctl restart
しました。
2. まとめ
PostgreSQLをバージョンアップしたら、スピードもアップしてレスポンスも良くなった気がします。
今年はバージョンアップが多かったですが、来年以降は1年に1回なのでスケジューリングして対応していくのがよいと思います。