如何修复pg_dump的版本不匹配的错误?(How to fix pg_dump version m

2019-07-17 21:02发布

当试图让本地数据的Heroku,我遇到了两个不同版本的pg_dump的版本不匹配。

具体来说,我得到这个消息:

pg_dump: server version: 9.2.2; pg_dump version: 9.1.4
pg_dump: aborting because of server version mismatch

我发现其他人有这个问题,但不知道够不够落实提出的解决方案。 (我是新来的Ruby on Rails的,PostgreSQL的,Heroku的,和Mac非常喜欢,在玩耍采摘的东西了,因为我去了舞台。)

我想我可能会简化我的生活,如果我卸载了我的本地机器上的所有PostgreSQL并用干净的重新启动和PostgreSQL 9.2.2安装http://postgresapp.com/ ,但我不知道如何去这样做卸载。

我在运行Mac OS X山狮10.8.2。

Answer 1:

OS X 10.8自带pg_dump在版本9.1.4 /usr/bin的目录,随着psql客户端的PostgreSQL工具和其他程序。 这并不意味着安装的PostgreSQL作为服务器(除非你有OS X服务器版)。 所以,你不必卸载PostgreSQL的,因为它没有安装,最好不要删除这些Postgres的客户端工具中/usr/bin ,因为它们属于系统运苹果。 他们只是需要向旁边跨步。

由postgres.app提供该包装包括两个PostgreSQL服务器和相同版本作为该服务器的客户端的工具。 这些工具得到安装在/Applications/Postgres.app/Contents/MacOS/bin

当你在终端工作中使用这些替代9.1的人从苹果,postgres.app 文件说,要做到:

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

并把它放在你.profile文件。

一旦你完成了这一点,你运行pg_dump ,你不应该再得到这是错误的版本错误,因为这将是一个附带postgres.app(目前9.2.2)。

我有这样的设置,它为我的作品确定。



Answer 2:

如果你只需要你的pg_dump升级到最新版本,你有自制软件和Mac,如果应用程序具有最新版本,并在本地PG并不:

brew upgrade postgresql



Answer 3:

如果您使用postgresapp 9.3.x,路径是不同的。 以下为我工作(礼貌http://sigmyers.com/blog/2013/3/12/postgres-pgdump-version-mismatch-error-postgresapp-postgresappcom )

export PG_BIN_PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin/"
PATH=$PG_BIN_PATH:$PATH

检查这里获取最新路径: http://postgresapp.com/documentation/cli-tools.html



Answer 4:

我跑山狮服务器。 我PostgeSQL服务器是9.2.1版本,默认工具是在9.1.5。

我不得不使用:

PATH="/Applications/Server.app/Contents/ServerRoot/usr/bin:$PATH"

使它工作。



Answer 5:

是的,有时候如果您运行Postgres.app这可能升级之后发生。 请确保您重新启动Postgres.app - 它会更新你的PATH。



Answer 6:

在我来说,我必须通过自制软件安装PostgreSQL和可执行文件在这里:/usr/local/opt/postgresql@9.6/bin

或者你复制转储和恢复执行到/Applications/Postgres.app/Contents/SharedSupport文件夹

或PdAgmin你点PG bin路径(在属性 - >二进制路径)到您postgre的可执行文件的路径



文章来源: How to fix pg_dump version mismatch errors?