2013-04-23 118 views
1

爲什麼當我在postgresql.conf中指定/var/pgsql_socketunix_socket_directory = '/var/pgsql_socket')時,brew安裝了postgres尋找/tmp/.s.PGSQL.5432爲什麼Brew在這裏安裝postgres?

安裝成功。我可以成功開始和停止Pg。

我的PATHPGHOST env變量似乎設置正確,但是當我嘗試psql時,我無法連接?

PATH="/usr/local/bin:$PATH" 
PGHOST="/var/pgsql_socket" 

任何想法?我讀過1000篇文章,似乎沒有什麼符合我的情況,並提供修復?

enter image description here

回答

2

改變unix_socket_directorypostgresql.conf僅影響其中,服務器把插座目錄。客戶端無法讀取postgresql.conf,客戶端在連接之前無法詢問服務器的設置,因此雞與雞蛋問題會阻止客戶端詢問服務器如何連接。

您需要告訴psql套接字目錄在哪裏。看來你已經與pghost做到了這一點,所以我的猜測是,你有沒有出口環境變量:

export PGHOST="/var/pgsql_socket" 

psql -h /var/pgsql_socket 
+0

你可能是正確的;我在.bash_profile中設置了PGHOST,PGHOST =「blah blah」,但不象你指出的那樣導出它,但是如果我從命令行執行$ echo $ PGHOST,「/ var/pgsql_socket」會正確顯示。我不是(顯然)(但顯然)是一個unix guru :( – gangelo 2013-04-23 13:21:47

+0

就是這樣!我搜索了100個帖子,沒有人深究n00b的水平,謝謝:) – gangelo 2013-04-23 18:33:19