Gitlab 连接外部数据库pg_dump、psql 版本不对应解决方法
出现问题
Gitlab 使用了外部的Postgres 数据库,备份Gitlab 的时候可能出现以下错误,原因是Gitlab 自带的pg_dump 程序版本与外部的数据库版本不匹配。
解决方法是自行下载对应版本的postgres 客户端程序,替换Gitlab 自带的。
Dumping PostgreSQL database gitlabhq_production ... pg_dump: error: server version: 13.3; pg_dump version: 12.6
pg_dump: error: aborting because of server version mismatch
操作步骤
- 进入Gitlab 容器中
- 下载安装对应版本 postgres-client
- 新建软链接替换原本gitlab p g
- 检测pg_dump psql 版本正确
# 1.进入Gitlab 容器中
docker exec -i -t gitlab-ce bash
# 2.下载安装对应版本 postgres-client
apt install -y postgresql-common
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
apt update
apt install postgresql-client-16
# 3. 新建软链接替换原本gitlab 自带的
ln -s /usr/bin/pg_dump /usr/bin/psql /opt/gitlab/bin/
# 4. 检测pg_dump psql 版本正确
/opt/gitlab/bin/pg_dump --version
/opt/gitlab/bin/psql --version
参考文档
PostgreSQL: Linux downloads (Ubuntu)
Database settings | GitLab Docs
Gitlab 连接外部数据库pg_dump、psql 版本不对应解决方法
https://halo.persipa.site/2025/P4DSHuI8