对于 Postgres 的 Homebrew 安装,我遇到了一个常见的 Mac OSX 错误,
No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
这显然是由于系统上有多个安装。但是,通常的步骤并不能解决问题。
我可以成功启动 Postgres 并运行:
ps auxw | grep post
返回..
euanmillar 847 0.0 0.0 2432768 588 s000 R+ 11:19am 0:00.00 grep postgres
euanmillar 845 0.0 0.0 2439324 448 ?? Ss 11:19am 0:00.00 postgres:
stats collector process
euanmillar 844 0.0 0.0 2443176 1520 ?? Ss 11:19am 0:00.00 postgres:
autovacuum launcher process
euanmillar 843 0.0 0.0 2443044 544 ?? Ss 11:19am 0:00.00 postgres: wal writer process
euanmillar 842 0.0 0.0 2443044 584 ?? Ss 11:19am 0:00.00 postgres: writer process
euanmillar 841 0.0 0.0 2443044 596 ?? Ss 11:19am 0:00.00 postgres: checkpointer process
euanmillar 839 0.0 0.0 2443044 3616 s000 S 11:19am 0:00.02 /us
所以看起来 postgres 正在运行。
我在 postgresql.conf 的以下几行中发表了评论
port = 5432
unix_socket_directory = '/var/pgsql_socket'
unix_socket_permissions = 0777
在 var/pgsql_socket/ 我确实有一个隐藏文件 .s.PGSQL.5432
我已经尝试了这里许多帖子的解决方案。这一个看起来特别相似:
https://dba.stackexchange.com/questions/21587/postgresql-is-running-locally-but-i-cannot-connect-why
但不同的是,我确实有一个 '/var/pgsql_socket' 目录,它对每个人都是 CHOWN 的。我已经使用 Homebrew 完全删除并重新安装 Postgres,但我仍然遇到同样的问题。