4

当运行rake db:structure:dump命令,我遇到了以下错误:pg_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 
+0

使用版本9.1.3的pg_dump代替 – francs 2012-03-21 06:39:59

+0

pg_config --bindir是什么意思? – dbenhur 2012-03-21 06:52:47

+0

@francs如何将pg_dump设置为新版本?它被耙子任务调用 – 2012-03-21 07:01:12

回答

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)和任何依赖关系。

0

我有同样的问题。遵循postgress命令行Tools文档,然后运行rake:db reset,然后耙db:test:prepare将我的测试数据库复制过来。在我做了这些事情之后,它就起作用了。

1

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

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