2013-04-23 54 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