如何解决pg_dump:由于服务器版本不匹配而中止?

时间:2019-10-23 15:12:47

标签: postgresql postgresql-9.3

使用pg_dump实用程序进行数据库备份时,我遇到了以下错误。

root@lab1:~# pg_dump -Fc -h localhost -U postgres hrdb -f hrdb.dmp
Password: 
pg_dump: server version: 12.0 (Debian 12.0-2.pgdg100+1); pg_dump version: 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1)
pg_dump: aborting because of server version mismatch

1 个答案:

答案 0 :(得分:0)

您似乎安装了两个版本的Postgres:

  • 版本10.10(Ubuntu 10.10-0ubuntu0.18.04.1),该版本已与Ubuntu 18.04预先打包
  • 通过PGDG Apt存储库安装的
  • 版本12.0(Debian 12.0-2.pgdg100+1

您可以执行以下任一操作:

  • 输入整个路径,以使用/usr/lib/postgresql/12/bin/pg_dump
  • 使用apt卸载postgresql(而非postgresql-12
  • Ubuntu实际上将几个PG命令包装到一个名为pg_wrapper的程序中,因此您实际上可以执行以下操作而无需进行任何更改:pg_dump -Fc -h localhost -U postgres --cluster=12/localhost:$PGPORT hrdb -f hrdb.dmp