Gitlab 连接外部数据库pg_dump、psql 版本不对应解决方法
技术 Gitlab Postgres Docker apt 9

出现问题

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

操作步骤

  1. 进入Gitlab 容器中
  2. 下载安装对应版本 postgres-client
  3. 新建软链接替换原本gitlab p g
  4. 检测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
作者
Persipa
发布于
更新于
许可