2012-09-21 51 views
0

我在Mac OS X Lion上開發了幾個Rails 3.2應用程序。昨天晚上,我從10.7.4更新到10.7.5,今天早上我發現我不能再連接到我的開發Postgresql數據庫(而我的生產環境工作得很好,具有相同的代碼庫)。我在本地開發的所有使用PostgreSQL的應用程序都是這種情況。更新OS X到10.7.5,現在我無法連接到本地PostgreSQL數據庫

該錯誤消息我得到每次我嘗試連接時間:

PG::Error: could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 

我讀過一些其他的SO張貼關於類似的問題,但大多在~/.bash_profile建議PATH變化。當我運行which psql(如其他帖子中所建議的),但是,/usr/local/bin/psql被返回,這是正確的(根據其他帖子)。

我不願意再次卸載並重新安裝PostgreSQL(即使通過Homebrew),因爲我不想爲我的所有應用程序混淆現有的PostgreSQL數據庫。 (也許這不是一個潛在的問題 - 我沒有足夠的信心說)

我已經卸載並重新安裝了pg寶石几次,關閉並重新打開我的shell會話,重新啓動我的機器(及其每個組合) ,都無濟於事。

我可以從哪裏出發?

+0

是自制軟件你是如何安裝Pg的?服務器是否正在運行(在進程列表中顯示「postgres」進程)並接受連接(「psql」是通過套接字連接還是連接到明確的主機名和端口)? –

+0

Homebrew是我如何在第一個地方安裝PostgreSQL的(我應該指定這是我的路徑爲'/ usr/local/bin/psql'的原因)。 當我運行'ps auxwww | grep postgres'是'jason 2327 0.0 0.0 2432768 588 s000 S + 10:23 PM 0:00.00 grep postgres'。 不確定在這一點的替代連接 - 是否有一個很好的方法來測試? (我是PostgreSQL的相對n00b) – jasonmklug

+0

好的,所以Pg沒有運行。 'postgres'唯一的匹配是'grep postgres'命令。您可能需要啓動Pg。如果啓動失敗,請檢查PostgreSQL日誌文件以獲取有關原因的信息。 –

回答

0

你的問題是PostgreSQL沒有運行。首先,我強烈建議在進行操作系統升級之前備份PostgreSQL數據庫,因爲有時候情況並不順利。如果你有一個垃圾場,如果事情往南走,你會有更多的選擇。我同意在新操作系統上重新編譯時會提出一些關於現有數據庫的問題。

當然要做的第一件事是嘗試正常啓動PostgreSQL。也許它只是缺少一個啓動腳本。類似於sudo -u postgres pg_ctl -D /path/to/postgresql/data/dir

如果這不起作用,您需要查看錯誤消息並嘗試解決該問題。希望它工作沒有問題。如果它無法複製數據目錄,如果可以的話,複製到運行舊版本的系統。嘗試從那裏轉儲它。在您複製完成之後(重要的是,先備份文件!),您可能會看到是否可以使pg_upgrade正常工作。如果失敗,嘗試編譯(通過自制軟件)與之前運行的主版本相同。

如果失敗了,請聘請專家。

相關問題