2011-01-09 174 views
1

我在嘗試啓動我的鐵軌本地主機上的應用程序時,下面的錯誤:Postgress服務器錯誤 - > PGError:無法連接到服務器

PGError (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"?

從我讀這聽起來像這是最有可能連接到Postgres服務器時出現問題,並可能表明它未啓動?

這一切,當我試圖我第一次開始(耶菜鳥!)合併使用Gi​​t。有一個衝突(與Rubymine workspace.xml文件有關),我開始打開一個衝突解決程序。然後,似乎根本沒有必要跟蹤workspace.xml,因此我退出瞭解決方案程序,打算在文件上運行「git rm --cached」。我認爲在退出程序的時候出了問題,最後我重新開始,在解開文件之前,然後完成合並。進一步的證據表明,某些東西被堵上了,直到我重新啓動機器後,我的終端外殼纔打開。

現在,據我所知,合併中的所有事情都很順利(無論如何,這兩個分支都有微小差異),但是對於我來說,我似乎無法擺脫這種PGError。如果它像啓動服務器一樣簡單,那麼我會很樂意幫助你做到這一點。

幫助!

謝謝。

(其它上下文:OSX,導軌3,posgresql83經由MacPorts的安裝,第寶石)。

編輯 - 我一直在試圖啓動服務器,但我沒有成功。例如,我想:

pg_ctl start -D /opt/local/var/db/postgresql83/defaultdb 

這似乎是爲數據(它找到的postgresql.conf文件),但我得到的迴應是正確的路徑「不能執行二進制文件。」

回答

1

嘗試sudo port load postgresql83-server - 這應該與MacPorts的最新8.3端口工作。

如果這不起作用,嘗試sudo port selfupdate; sudo port upgrade outdated,然後再試一次。

注意 - 這可能需要絕對年齡。

+0

我嘗試了第一個命令,但是它回答了「aleady loaded」,嘗試了其他兩個然後第一個,並得到了相同的「已加載」響應。 (雖然在postgresql83中似乎有些微升級,但是仍然出現相同的錯誤,我是否已經真正關閉了服務器?或者只是創建一個新的數據庫? –

+0

有趣的...所以它肯定會被加載。 ..試試sudo port卸載postgresql83-server然後加載它,它可能工作,可能不會 –

+0

你可能會殺死數據庫並重新啓動 - 不知道會有多少痛苦 –

1

and may indicate that it is not started?

是的,聽起來像服務器沒有運行在您的本地計算機上。

看到這個錯誤的描述PostgreSQL的手冊:
http://www.postgresql.org/docs/8.3/static/server-start.html#CLIENT-CONNECTION-PROBLEMS

+0

是的,我一直在讀那個,但我做的似乎沒有啓動它。即g我試過在我認爲是正確的數據文件夾(很難找到)上運行pg_ctl,並得到以下響應:/ opt/local/lib/postgresql83/bin/pg_ctl:/ opt/local/lib/postgresql83/bin/pg_ctl:無法執行二進制文件 –

+0

該錯誤似乎表明二進制文件安裝不正確或者您沒有啓動服務器的必要權限 –

+0

我不認爲這是優先級,因爲我確實需要輸入密碼並以其他方式投訴。在我提到的事件發生之前,一切都很順利,所以也許我真的忙亂了呢? –

0

要啓動服務器,請嘗試大意如下的東西(調整pgSQL的版本號和日誌文件):

sudo su postgres -c '/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/db/postgresql8/defaultdb -l /opt/local/var/log/postgresql84/postgres.log start' 

要停止服務器,

sudo su postgres -c '/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/db/postgresql84/defaultdb stop'