关于将Omnibus安装的GitLab 13.5.3中的PostgreSQL升级到12.4版本的经历

我们提供那些无法通过谷歌搜索找到的小知识。本文仅为个人观点,与作者所属的任何团体无关。

0. 首先

在过去的一年里,GitLab持续进行了多次的PostgreSQL升级。在2019年年底,GitLab从PostgreSQL 9.6升级到了PostgreSQL 10。接着,在2020年5月,PostgreSQL 10又升级到了11版本。最后,在2020年10月,GitLab增加了对PostgreSQL 12版本的支持。

2019年12月10日
关于将已安装的GitLab所使用的PostgreSQL从9.6.14升级至10.9的故事 – Qiita
https://qiita.com/ynott/items/653236f1a5c2ab8cf69f

2020年05月03日的内容是关于将安装了GitLab 12.10的Omnibus版本的PostgreSQL从10.12升级到11.7的故事-来自于Qiita的文章。

今年升级的次数有点多,但将来我们计划每年进行一次升级以适应PostgreSQL的主要版本升级。

由于旧版PostgreSQ逐渐无法使用,因此升级PostgreSQL是必须的。

■可在GitLab中使用的PostgreSQL的最低版本

GitLabのバージョンPostgreSQLの最小バージョンGitLab 109.6系GitLab 1110系GitLab 1210系GitLab 1311系GitLab 1412系

在Omnibus GitLab中随附的PostgreSQL版本有哪些?| GitLab
https://docs.gitlab.com/omnibus/package-information/postgresql_versions.html

1. 将GitLab 13.5.3升级至PostgreSQL 12.4。

1-1. 确认如何进行升级的方法

数据库升级的方法如下所示。

数据库设置 | GitLab
https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server

数据库设置 | GitLab
https://docs.gitlab.com/omnibus/settings/database.html#升级已打包的PostgreSQL服务器

如果执行gitlab-ctl pg-upgrade,基本上就可以了,但是事先需要检查一些项目。

    1. 确保将GitLab升级到最新版本

 

    1. 确保`sudo gitlab-ctl reconfigure`命令顺利运行

 

    确保有足够的硬盘空间
image.png

执行`sudo gitlab-ctl 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. 检查可用空间
2. 查看可用存储空间
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` 命令,在开始 PostgreSQL 版本升级之前,您将有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版本后,速度提升了,响应也变好了。
今年升级频繁,但明年开始每年只升级一次,所以最好制定日程来进行处理。

广告
将在 10 秒后关闭
bannerAds