Unix域套接字“/var/pgsql_socket/.s.PGSQL.5432”上的PostgreSQL权限被拒绝错误 – Lion Server 10.7.3或Lion Server 10.7.4

我最近使用Lion Server遇到了主要权限问题,其中权限会随意更改文件夹。 在此期间,我在尝试执行rake db:migrate命令时开始出现以下错误:

rake aborted! could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 

当我在运行10.7.2时首次创建Rails 3.2.3应用程序之前,这一直在工作。 突然间,我开始出现这个错误。 我阅读了许多关于此错误的博客,并尝试删除它但没有成功。

我决定致电Apple Enterprise Support,了解我能做些什么。 我怀疑Lion Server已经损坏但是想在支持团队确认之前擦干我的服务器并重新开始。 他们证实,这是我需要做的,以便理顺它。 我在星期五做了这个,只安装了我需要重建我的Rails应用程序。 我还是得到了错误。 我再次尝试了一些已发布的其他解决方案,但仍然没有一个有效。 我们继续寻找解决方案。

在继续搜索博客文章后,我们找到了一个处理Lion 10.7.4的文章。 在我开始编写Rails应用程序和现在使用PostgreSQL时,我不知道10.7.2之间发生了什么变化。 我们发现以下博客文章帮助我解决了几天的问题。

http://www.mactasia.co.uk/revisited-using-postgresql-in-lion-server

我最终以root身份登录并执行以下操作:

在/System/Library/LaunchDaemons/org.postgresql.postgres.plist中进行了以下更改

 listen_addresses=127.0.0.1 unix_socket_permissions=0777 

更改了/ var / psql_socket的权限

 sudo chmod 755 /private/var/pgsql_socket 

之后我退出root并以正常情况下作为服务器管理员登录。 我不再获得权限错误。

which psql最有可能显示/ bin / psql我猜我们要调用/ usr / local / bin / psql

所以我们要么在/ bin之前将$ PATH更改为include / local / bin,我认为这不是一个非常好的解决方案(安全性等),或者我们通过rm-ing删除/ usr / bin / psql(或者mving)文件,(和符号链接到/ usr / local / bin)或卸载psql客户端。