LoginSignup
2
1

OmnibusインストールされたGitLab 16.7のPostgreSQLを14.9にアップグレードした話

Last updated at Posted at 2023-12-29

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

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

■GitLabで利用できるPostgreSQLの最小バージョン

16.7でのフレッシュインストールが14.9になったのでアップグレードします。
image.png

1. GitLab 16.7 で PostgreSQL 14.9にアップグレード

1-1. アップグレードする方法を確認する

データベースアップグレードの方法は、以下にあります。

Database settings | GitLab
https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server

gitlab-ctl pg-upgrade を実行すれば基本的にいいのですが、事前にチェックしておく項目がいくつかあります。

  1. 最新のGitLabにバージョンアップする
  2. sudo gitlab-ctl reconfigureがちゃんと通る事を確認する
  3. ディスク容量が空いている事を確認する

現在のバージョンは以下の通りです。
image.png

1-2. sudo gitlab-ctl reconfigure を実行する

反映されていない設定が存在しないか、reconfigureします。

sudo gitlab-ctl reconfigure

実行結果

$ sudo gitlab-ctl reconfigure
[2023-12-29T12:58:12+09:00] INFO: Started Cinc Zero at chefzero://localhost:1 with repository at /opt/gitlab/embedded (One version per cookbook)
Cinc Client, version 17.10.0
Patents: https://www.chef.io/patents
Infra Phase starting
[2023-12-29T12:58:12+09:00] INFO: *** Cinc Client 17.10.0 ***
<<<中略>>>
[2023-12-29T12:58:33+09:00] INFO: Report handlers complete
Infra Phase complete, 12/719 resources updated in 20 seconds
[2023-12-29T12:58:33+09:00] WARN: This release of Cinc Client became end of life (EOL) on May 1st 2023. Please update to a supported release to receive new features, bug fixes, and security updates.
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 を実行する

以下のコマンドでアップグレードします。
バージョンを指定しなくても問題ないはず。

sudo gitlab-ctl pg-upgrade

sudo gitlab-ctl pg-upgrade コマンドを打って、PostgeSQLのバージョンアップ開始されるまでに30秒猶予が与えられます。なんか止まったとか焦らないようにしましょう。
心の準備ができてない場合は、ctrl+cでキャンセルできます。
アップグレードが開始されるのを30秒正座して待ちましょう。

image.png

以下のように出れば成功です!!

user@gitlab:~$ sudo gitlab-ctl pg-upgrade
<<<中略>>>
==== Upgrade has completed ====
Please verify everything is working and run the following if so
sudo rm -rf /var/opt/gitlab/postgresql/data.13
sudo rm -f /var/opt/gitlab/postgresql-version.old

古いファイルは消しましょう。と思って/var/opt/gitlab/postgresql/を見たら、Postgresql 12の時のバックアップが残っていました...。
image.png

安全が確認できたら削除する事にします...。

1-5. 確認する

以前は、sudo gitlab-ctl restartしないとバージョンが切り替わりませんでしたが、今回は何もしなくてもリロードするだけで反映されました。

image.png

1-6. 古いファイルを削除する

サーバーを管理していていつも緊張するのがファイルの削除です。

さすがに不要なバージョン12の方を先に削除します。

sudo rm -rf /var/opt/gitlab/postgresql/data.12

バージョンファイルも削除していいでしょう。

sudo rm -f /var/opt/gitlab/postgresql-version.old

/var/opt/gitlab/postgresql/data.13はそのうち削除する事にします。

2. まとめ

バージョン12にしたときほどのスピードアップは体感では感じられませませんでしたが、バージョンに追従しておくのは重要です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1