最佳答案
我用自制程序在 Mac (10.10.1/Yosemite)上安装了 Postgreql 9.4.0,它不能工作。
我已经在 ~/Library/LaunchAgent 中创建了/usr/local/opt/postgreql/homebrew.mxcl.postgreql.plist 的软链接。
如果我尝试手动加载 postgres 我得到的消息,“操作正在进行中”
> launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation already in progress
然而,postgres 似乎没有运行。
> ps auxw | grep post
billmcn 670 0.0 0.0 2424272 452 s000 R+ 10:12PM 0:00.01 grep post
我无法连接到命令行客户端。
> psql
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"?
据我所知,我已经尝试了在讨论这个问题的 其他 堆栈溢出线程上建议的所有修复程序:
早些时候我确实让自制的邮递员在这台机器上工作过。我认为它的破坏是从版本8升级到版本9,但我不确定。
我没有任何需要保存的数据库。我愿意和 Postgres 一起开始干净的生活,我现在只需要让它开始工作。有什么想法吗?
问题似乎是对/usr/local/var/postgres 目录的权限。下面是我的 var 目录在出现故障时的情况。
ll /usr/local/var/
drwxr-xr-x 3 billmcn admin 102 Dec 20 12:44 cache
drwxr--r-- 2 root admin 68 Dec 29 21:37 postgres
(whoami = “ bilmcn”)
我删除了/usr/local/var/postgres,卸载并重新安装 postgres,现在看起来是这样的。
ll /usr/local/var/
drwxr-xr-x 3 billmcn admin 102 Dec 20 12:44 cache
drwx------ 23 billmcn admin 782 Dec 30 10:51 postgres
我不知道它是如何进入这种状态的,因为我不记得有没有这个目录的权限,不过没关系。现在可以用了。