为啥 Brew 安装的 postgres 看这里?
Posted
技术标签:
【中文标题】为啥 Brew 安装的 postgres 看这里?【英文标题】:Why is Brew installed postgres looking here?为什么 Brew 安装的 postgres 看这里? 【发布时间】:2013-04-23 02:27:58 【问题描述】:当我在 postgresql.conf
中指定 /var/pgsql_socket
(unix_socket_directory = '/var/pgsql_socket'
) 时,为什么 brew 安装的 postgres 会寻找 /tmp/.s.PGSQL.5432
?
安装成功。我可以成功启动和停止 Pg。
我的PATH
和PGHOST
环境变量似乎设置正确,但是当我尝试psql
时,我无法连接?
PATH="/usr/local/bin:$PATH"
PGHOST="/var/pgsql_socket"
有什么想法吗?我已经阅读了 1000 篇帖子,但似乎没有任何内容适合我的情况并提供解决方法?
【问题讨论】:
【参考方案1】:更改postgresql.conf
中的unix_socket_directory
只会影响服务器放置套接字目录的位置。 postgresql.conf
不被客户端读取,并且客户端在可以连接之前无法向服务器询问设置,因此鸡与蛋的问题会阻止客户端询问服务器如何连接。
您需要告诉psql
套接字目录在哪里。看来您已经使用pghost
完成了此操作,所以我猜您还没有导出环境变量:
export PGHOST="/var/pgsql_socket"
或
psql -h /var/pgsql_socket
【讨论】:
你可能是对的;我在我的 .bash_profile 中设置 PGHOST,PGHOST="blah blah",但没有像您指出的那样导出它,尽管如果我从命令行执行 $ echo $PGHOST,“/var/pgsql_socket”会正确显示。我还不是(显然)unix 大师 :( 就是这样!我搜索了 100 篇没有人深入研究过 n00b 级别的帖子,谢谢 :)以上是关于为啥 Brew 安装的 postgres 看这里?的主要内容,如果未能解决你的问题,请参考以下文章
从 brew upgrade postgresql 损坏 psql