微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

osx – PostgreSQL Mountain Lion插座问题

我一直在尝试在我的系统上安装Postgresql(OSX 10.8,干净安装),但是我遇到麻烦,使用psql,createdb等。我已经尝试过各种解决方案,而且似乎没有任何工作。

安装成功,我继续使用以下内容修复已知的套接字问题:

mkdir /var/pgsql_socket 
sudo chown $USER /var/pgsql_socket

然后我编辑了postgresql.conf,将unix_socket_directory设置为

unix_socket_directory = '/var/pgsql_socket'

并重新启动Pg。

这应该显然已经修复了socket问题,但我还是得到:

psql: 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"?

此外,我已经检查了服务器的状态,它似乎正在运行,但我仍然得到’没有这样的文件或目录’

有任何想法吗?

根据错误消息,$ PATH中首先显示的psql命令具有/ tmp作为硬编码的认unix套接字目录。

由于实际的目录实际上是/ var / pgsql_socket,你应该明确地告诉它,而不是依赖于认值:

$ psql -h /var/pgsql_socket [other options]

同样适用于其他客户端命令,如createdb,dropdb,createuser

如果不想每次指定-h,都可以将其放入PGHOST环境变量中。

有些人也通过使用TCP连接到本地主机来解决这个问题,而不是使用Unix套接字目录。

这个问题的根本原因是,在Mac OS X上安装Postgresql之后,系统最终会有两个不同的postgres客户端实例(libpq库,psql和其他相关的实用程序),一个与MacOS捆绑在一起的Postgresql安装程序附带的其他功能

因此,另一种方法是更改​​$ PATH,以便使用Postgresql安装的psql在系统安装之前选择(大概是/ usr / bin / psql)。

原文地址:https://www.jb51.cc/postgresql/193152.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐