Gitlab升级PGSQL12

gitlab的版本是老的,之前用的pg版本为11.x。后来升级到13.9.4了,没有执行升级pg的操作,但是从13.3开始提供了PG12的包,并从13.7开始默认安装PG12的包,现在最新的版本是13.12.15,想升级上去,也为未来准备升级14.x做准备,所以先升级了PG到12,记录一下问题。

文档:
升级PG

一、准备
备份数据

# GitLab 12.2 或更高版本:
sudo gitlab-backup create
sudo gitlab-ctl backup-etc
# 把配置文件备份cp备份出去

二、升级PostgreSQL

注意:升级会停机

sudo gitlab-ctl pg-upgrade

gitlab-ctl pg-upgrade 执行以下步骤:

  • 检查以确保数据库处于已知的良好状态。
  • 检查是否有足够的可用磁盘空间,否则中止。您可以通过附加--skip-disk-check标志来跳过此步骤。
  • 关闭现有数据库、任何不必要的服务,并启用 GitLab 部署页面。
  • 更改/opt/gitlab/embedded/bin/PostgreSQL 中的符号链接以指向较新版本的数据库。
  • 创建一个新目录,其中包含一个新的空数据库,其区域设置与现有数据库相匹配。
  • 使用该pg_upgrade工具将数据从旧数据库复制到新数据库。
  • 将旧数据库移开。
  • 将新数据库移动到预期位置。
  • 调用sudo gitlab-ctl reconfigure以进行所需的配置更改并启动新的数据库服务器。
  • 运行ANALYZE以生成数据库统计信息。
  • 启动剩余的服务并删除部署页面。
  • 如果在此过程中检测到任何错误,它将恢复到旧版本的数据库。

如果不出意外,升级会在配置更改启动新数据库服务器时出错,报启动pg失败,启动连接timeout了

sudo gitlab-ctl tail postgresql

这是因为老版本的gitlab.rb 的配置中,“dynamic_shared_memory_type” 参数为none,升级为12后,不能使用none了,需要修改掉

vim /etc/gitlab/gitlab.rb
    # 注释掉
    #postgresql['dynamic_shared_memory_type'] = 'none'
# 重新配置gitlab
sudo gitlab-ctl reconfigure
# 查看postgresql的状态是否启动成功,如果没有就手动重启一下
sudo gitlab-ctl status
# sudo gitlab-ctl restart postgresql

$ /opt/gitlab/embedded/bin/postgres --version
postgres (PostgreSQL) 12.5

三、生成数据库统计信息

sudo gitlab-psql -c "SELECT relname, last_analyze, last_autoanalyze FROM pg_stat_user_tables WHERE last_analyze IS NULL AND last_autoanalyze IS NULL;"

执行上诉sql,如果有任何输出,则手动运行:

sudo gitlab-psql -c 'SET statement_timeout = 0; ANALYZE VERBOSE;'

四、删除部署状态
因为在执行pg-upgrade时,启动pg启动失败导致没有在正确状态下执行删除部署状态页面,导致即使现在gitlab-ctl status都是正常的,但是首页还是显示 "Deploy in progress",所以手动退出部署状态

sudo gitlab-ctl deploy-page down

五、清理旧数据库文件
在验证您的 GitLab 实例运行正常后,您可以清理旧的数据库文件:

sudo rm -rf /var/opt/gitlab/postgresql/data.<old_version>
sudo rm -f /var/opt/gitlab/postgresql-version.old

如果修改了 postgresql['data_dir'] = /data/gitlab/postgresql/data ,那么应该删除的路径为:

sudo rm -rf /data/gitlab/postgresql/data.<old_version>
sudo rm -f /var/opt/gitlab/postgresql-version.old
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容