在try 将本地数据发送到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和其他client-side个PostgreSQL工具程序.这并不意味着安装了PostgreSQL作为服务器(除非您有OS X server Edition).

postgres提供的软件包.应用程序包括PostgreSQL server和与此服务器版本相同的客户端工具.这些工具的安装时间为/Applications/Postgres.app/Contents/MacOS/bin分钟

当你在终端工作时,要使用这些,而不是苹果的9.1版本,postgres.app documentation表示要做:

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

把它放进你的.profile号档案里.

一旦你做到了这一点,并且运行了pg_dump次,你就不应该再得到错误的版本了,因为这将是postgres附带的版本.应用程序(目前为9.2.2).

我有这个设置,对我来说很好.

Postgresql相关问答推荐

Postgres:如何优化在多个表上搜索列的相似性查询?(Pg_Trgm)

在SqlalChemy中转义动态CamelCase场

在Ubuntu 18.04 Bionic上安装PostgreSQL(已删除回购)

在Postgres中,如何删除包含N个自然数的表,并替换为生成子查询?

如何在postgres中测试锁定

数据库所有者无法授予 Select 权限

PostgreSQL:如何从另一列的 json 值替换为一列?

如何计算每月的出版物数量?

Power BI + Postgres:只读用户

对 Postgres 进行身份验证时如何使用自定义密码哈希算法?

从dump文件中恢复三张表遇到的问题

并行取消嵌套多个数组

如何将 DELETE 的返回值插入到 postgresql 中的 INSERT 中?

无法识别的配置参数bytea_output

django.db.utils.IntegrityError:duplicate key value violates unique constraint "django_content_type_pkey"

如何使用 psql 执行 *.sql 文件

postgresql 查询以显示用户的组

如何缩小 pg_toast 表?

错误:ERROR: table name specified more than once

Django 中的唯一模型字段和区分大小写(postgres)