我最近刚刚将一个 gitlab 实例转移到了一台新服务器上。我以为一切都很好,直到我去 apt upgrade 时,备份失败了。
Dumping PostgreSQL database gitlab ... pg_dump: server version: 12.2 (Ubuntu 12.2-4); pg_dump version: 11.7
pg_dump: aborting because of server version mismatch
系统信息 它连接到系统上的 postgresql db,而不是 gitlab-builtin 捆绑版本
尽管系统是焦点系统,但这也是 gitlab 的 bionic repo,因为目前看来他们实际上还没有准备好焦点支持。(缺少软件包)
System information
System: Ubuntu 20.04
Current User: git
Using RVM: no
Ruby Version: 2.6.6p146
Gem Version: 2.7.10
Bundler Version:1.17.3
Rake Version: 12.3.3
Redis Version: 5.0.9
Git Version: 2.27.0
Sidekiq Version:5.2.7
Go Version: unknown
GitLab information
Version: 13.1.4
Revision: 18c5ab32b73
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: PostgreSQL
DB Version: 12.2
这个 11.7 是从哪里来的?我该怎么做才能解决这个问题?pg_dump --version
返回a pg_dump (PostgreSQL) 12.2 (Ubuntu 12.2-4)
。这是全新安装的服务器,从未安装过其他 pgsql 服务器。
附加问题:我需要关心吗Go Version: unknown
?这与旧服务器上的情况相同。
答案1
GitLab 使用的是 pg_dump 的打包版本。在从GitLab - 数据库 - 备份和恢复非打包的 PostgreSQL 数据库
运行此操作解决了问题
sudo ln -s /usr/bin/pg_dump /usr/bin/psql /opt/gitlab/bin/