Postgresql 9.2 pg_dump版本不匹配

211

我正在尝试使用 pg_dump 工具导出一个Postgresql数据库。

$ pg_dump books > books.out

但是我遇到了这个错误。

pg_dump: server version: 9.2.1; pg_dump version: 9.1.6
pg_dump: aborting because of server version mismatch

--ignore-version 选项现在已弃用,即使它能够工作,也不是解决我的问题的方法。

我该如何升级 pg_dump 来解决这个问题?

32个回答

-2
run pg_dump -d [DATABASE] -h [HOST] -p [PORT] -U [USER]

该程序与PostgreSQL的版本匹配,并能成功运行您的数据库备份


-6

我在我的Fedora 17安装中遇到了类似的问题。这是我解决这个问题的方法:

  • 删除内置的pg_dump位于/usr/bin/pg_dump(作为root用户执行:"rm /usr/bin/pg_dump")

  • 现在,创建postgresql安装的符号链接

    同样作为root用户:ln -s /usr/pgsql-9.2/bin/pg_dump /usr/bin/pg_dump

这应该解决问题。


11
不要仅仅删除软件包管理的文件!如果它在 /usr/ 目录下(而不是 /usr/local//home//opt/,在这些目录下删除东西通常是可以的),你真的需要使用软件包管理器——如 rpm & yumdpkgapt-getaptitude,具体取决于你所使用的发行版。要么使用 rpm 卸载软件包,要么在你的 .bash_profile 中更改 PATH 环境变量,使新版本首先被找到。如果你对某个文件是否受软件包管理存疑,可以使用命令 rpm -qf /path/to/file(RPM)或 dpkg -S /path/to/file(dpkg)。 - Craig Ringer
同意,但至少我的软件包管理器apt在Ubuntu 20.04中使用“官方”postgres存储库时,会留下这个坏的/usr/bin/pg_dump链接,而且无论我要求它做什么(在放弃之前我已经尝试了很多次),它都不会刷新。 - moodboom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接