这是我第三次在新机器上设置Postgres(这次是OS X 10.9),第三次我遇到连接问题。
基本上,我正处于创建数据库集群的地步,可以使用以下命令启动postgres:
postgres -D /usr/local/pgsql/data
但我希望它作为启动守护进程在后台运行,所以我
sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql91-server.plist
似乎守护程序已成功启动。但是当我输入psql
时,我得到了同样的旧错误信息,我每次尝试设置Postgres时都会处理这个错误信息:
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"?
关于可能导致此问题的任何想法?
答案 0 :(得分:1)
您运行的psql
是Apple在Mac OS X中捆绑的旧版本,并添加到默认PATH中。使用Homebrew中的那个,修改路径或专门输入路径。
或者,通过覆盖默认套接字目录显式连接到服务器:
psql -h /tmp
另见:
<强>更新强>:
在这种情况下,看起来服务器真的没有启动。检查数据目录(显然是/usr/local/pgsql/data
)的权限,并检查Console.app日志中是否有来自launchd的相关消息。
<强>更新强>:
您必须修改权限,以便postgres用户(或postgres_,具体取决于您的安装方式)拥有所有权。检查launchd配置文件以查看它运行的用户,并选择sudo chown -R postgres / usr / local / pgsql / data来更改所有权。用postgres_替换postgres,如果这是你的launchd配置所说的