postgresql - 如何修复 pg_dump 版本不匹配错误?

标签 postgresql osx-mountain-lion uninstallation pg-dump

当尝试将本地数据传输到 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,然后从 http://postgresapp.com/ 全新安装 PostgreSQL 9.2.2 重新开始,我可能会简化我的生活。 ,但我不知道如何进行卸载。

我正在运行 Mac OS X Mountain Lion 10.8.2。

最佳答案

OS X 10.8 在 /usr/bin 目录中附带了 pg_dump 版本 9.1.4,以及 psql 和其他程序客户端 PostgreSQL 工具。这并不意味着安装了 PostgreSQL 作为服务器(除非您有 OS X Server Edition)。 所以你不必卸载 PostgreSQL,因为它没有安装,最好不要删除 /usr/bin 中的这些 postgres 客户端工具,因为它们属于 Apple 提供的系统。他们只需要回避即可。

postgres.app提供的包包括PostgreSQL服务器和与本服务器同版本的客户端工具。这些工具安装在 /Applications/Postgres.app/Contents/MacOS/bin

当您在终端中工作时,要使用这些而不是 Apple 的 9.1,postgres.app documentation说要做:

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

并将其放入您的 .profile 文件中。

一旦你完成并运行 pg_dump,你应该不会再得到版本错误的错误,因为它将是 postgres.app 附带的版本(当前为 9.2.2 ).

我有这个设置,对我来说工作正常。

关于postgresql - 如何修复 pg_dump 版本不匹配错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14168920/

相关文章:

postgresql - 在RUST中将Postgresql时间戳转换为字符串

postgresql - 如何自定义peewee中的表名?

powershell - powershell卸载多个应用程序?

ruby-on-rails - 为什么 Sidekiq 不关闭旧连接?

postgresql - 如何禁用 postgresql "Cache"优化?

macos - AppleScript 如何在代码中获取 STDIN?

ios - Xcode 4 ios模拟器权限问题

custom-controls - 没有共享窗口的山狮上的 NSSharingService

python - 如何卸载预提交

plone - 使用卸载配置文件删除自定义属性表