2012-07-05 71 views
0

我試圖用postgresql設置一個新應用程序,所以我可以使用Heroku進行部署。然而,當我運行使用「軌道服務器」我歡迎軌屏幕的應用程序,讓這個錯誤:Postgresql無法在正確的路徑上識別

PG::Error

could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

我敢肯定這是相同的問題,因爲這裏覆蓋:

Repairing Postgresql after upgrading to OSX 10.7 Lion

但約翰王的修復不起作用。

我試過向.bash_profile,.bashrc和.zshrc添加'export PATH =/usr/local/bin:$ PATH',但都沒有改變結果。調用哪個psql總是返回/ usr/bin/psql。

我在這裏做錯了什麼?任何幫助將非常感激!

編輯

運行在/ usr/local/bin目錄/ PSQL給出了同樣的錯誤,運行echo $ PATH得出:如果你直接運行本地安裝PSQL

/opt/local/bin:/opt/local/sbin:/Users/dave/.rvm/gems/ruby-1.9.3-p194/bin:/Users/dave/.rvm/gems/[email protected]/bin:/Users/dave/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/dave/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/dave/.rvm/bin

回答

2

會發生什麼?

/usr/local/bin/psql ... 

如果有效,那麼這是您需要更改的路徑。您可以嘗試在終端中運行導出,然後which psql。如果不拿起右PSQL然後檢查與

echo $PATH 

工作我不知道這.xxrc文件,你將需要更新,然後出口 - 沒有得到一個MAC手恐怕,但至少你會知道該命令將起作用。

哦 - 我把幾個不同的版本的PostgreSQL的四周,會發現它有用有一定的別名設置:

alias psql90='/usr/local/pgsql90/bin/psql -p 5490' 
alias psql84='/usr/local/pgsql84/bin/psql -p 5484' 
alias pg_dump90=... 

$PATH只是一個目錄,以檢查由分隔列表「:」 。它開始/opt/local/bin而不是/usr/local/bin,如果你看得更遠,你會看到/usr/bin之前/usr/local/bin。所以 - 我們需要做兩件事情:

  1. 找出其中的psql我們真正想要
  2. 確保我們可以修改我們的道路

首先 - 找到你的postgresql.conf文件,並檢查端口你正在跑步。有三個感興趣的項目:listen_addresses,portunix_socket_directory。然後我們會看看那裏是否有套接字。

ls -a <your unix_socket_directory> 

你應該可以看到一個「文件」像」 .s.PGSQL.5432" ,其中5432是你的配置文件中的端口號。如果沒有這樣的文件,它沒有運行,是時候讓它運行。如果與Apple的現有用法相匹配,您可能需要更改配置文件中的端口號。

然後查找PSQL安裝存在

find /usr -type f -name psql 
find /opt -type f -name psql 

試圖找出你需要哪一個,可能要添加--version幫助。

然後,讓我們看看編輯PATH。無論如何,您必須在設置文件中進行一些更改,所以我們來看看是否可以找到該設置的位置。

grep -l 'local/bin' ~/.*rc 

這應該列出包含本地/ bin的文件名 - 看看它們是否正在編輯PATH。

+0

感謝您的回覆,我添加了回聲$ PATH的輸出,但它對我來說並沒有多大意義,但它是否顯示出問題? – Dave 2012-07-05 21:07:38

+0

在上面的主要答案中編輯 – 2012-07-06 08:07:36

+0

注意:最近出現了一些這些問題,這些問題都是由於OSX的unix域套接字位於不同的目錄中,而不是它們的預期位置(/ var/vs/tmp /),導致前端無法連接到後端。 – wildplasser 2012-07-06 10:45:56