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安裝的路徑)在其他任何工作之前變得輕而易舉。我只需要重新打開任何開放的終端窗口。