当试图让本地数据的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。
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)。
我有这样的设置,它为我的作品确定。
如果你只需要你的pg_dump升级到最新版本,你有自制软件和Mac,如果应用程序具有最新版本,并在本地PG并不:
brew upgrade postgresql
如果您使用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
我跑山狮服务器。 我PostgeSQL服务器是9.2.1版本,默认工具是在9.1.5。
我不得不使用:
PATH="/Applications/Server.app/Contents/ServerRoot/usr/bin:$PATH"
使它工作。
是的,有时候如果您运行Postgres.app这可能升级之后发生。 请确保您重新启动Postgres.app - 它会更新你的PATH。
在我来说,我必须通过自制软件安装PostgreSQL和可执行文件在这里:/usr/local/opt/postgresql@9.6/bin
或者你复制转储和恢复执行到/Applications/Postgres.app/Contents/SharedSupport文件夹
或PdAgmin你点PG bin路径(在属性 - >二进制路径)到您postgre的可执行文件的路径