7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitLabAdvent Calendar 2020

Day 3

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

Last updated at Posted at 2020-12-02

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

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 を実行すれば基本的にいいのですが、事前にチェックしておく項目がいくつかあります。

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

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

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 というコマンドオプションを付けます。

image.png

sudo gitlab-ctl pg-upgrade -V 12 コマンドを打って、PostgeSQLのバージョンアップ開始されるまでに30秒猶予が与えられます。なんか止まったとか焦らないようにしましょう。

image.png

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しました。

image.png

2. まとめ

PostgreSQLをバージョンアップしたら、スピードもアップしてレスポンスも良くなった気がします。
今年はバージョンアップが多かったですが、来年以降は1年に1回なのでスケジューリングして対応していくのがよいと思います。

7
3
7

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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?