pgs中的pg_dump版本不匹配

时间:2012-03-21 06:36:34

标签: ruby-on-rails postgresql ruby-on-rails-3.2 postgresql-9.1 pg-dump

运行rake db:structure:dump命令时,遇到以下错误:

Larson-2:app larson$ rake db:structure:dump
pg_dump: server version: 9.1.3; pg_dump version: 9.0.4
pg_dump: aborting because of server version mismatch
rake aborted!
Error dumping database

如何更新pg_dump?我安装了pg 9.1.3,有没有办法将Rails里面的引用更新到新版本?

当我尝试通过自制程序更新postgres时,我得到以下输出:

Larson-2:app larson$ sudo brew upgrade postgresql
Password:
Error: postgresql already upgraded

3 个答案:

答案 0 :(得分:5)

以下是我解决问题的方法,首先更新自制文件:

brew update
如果您收到此错误:error: Your local changes to the following files would be overwritten by merge:

然后:

cd /usr/local/cellar
git reset --hard FETCH_HEAD

完成更新自制程序后:
sudo brew install postgresql
这将安装9.1.3(或最新版本的pg)和任何依赖项。

答案 1 :(得分:1)

在我的机器上,问题出在PATH上。 / usr / bin上有一个pg_dump v.9.0.10,我的服务器是9.1.something。

更改路径以使/usr/local/Cellar/postgres/9..../bin(或者您使用的实际postgres安装的路径)在其他任何工作之前变得轻而易举。我只需要重新打开任何打开的终端窗口。

答案 2 :(得分:0)

我有同样的问题。遵循postgres命令行工具文档,然后必须运行rake db:reset然后rake db:test:prepare来复制我的测试数据库。在我做完这些事之后,它起作用了。