Ruby Unix域套接字上的PostgreSQL权限被拒绝错误/var/pgsql_socket/.s.pgsql.5432";-Lion服务器10.7.3或Lion服务器10.7.4

Ruby Unix域套接字上的PostgreSQL权限被拒绝错误/var/pgsql_socket/.s.pgsql.5432";-Lion服务器10.7.3或Lion服务器10.7.4,ruby,osx-lion,ruby-on-rails-3.2,postgresql-9.0,Ruby,Osx Lion,Ruby On Rails 3.2,Postgresql 9.0,我最近在使用Lion Server时遇到了严重的权限问题,在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_

我最近在使用Lion Server时遇到了严重的权限问题,在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应用程序时就已经起作用了。突然,我开始出现这个错误。我读了很多关于这个错误的博客,并试图删除它,但没有成功


我决定打电话给苹果企业支持部,看看我能做些什么。我怀疑Lion服务器已损坏,但希望在清理服务器并重新开始之前与支持团队确认。他们证实了这是我需要做的,以纠正它。我在周五做了这件事,只安装了重建Rails应用程序所需的东西。我还是犯了错误。我再次尝试了发布的其他一些解决方案,但仍然没有一个有效。我们继续寻找解决方案。

在继续搜索博客文章后,我们找到了一篇涉及Lion 10.7.4的文章。我所不知道的是,从我开始编写Rails应用程序到现在使用PostgreSQL,10.7.2之间发生了一些变化。我们发现下面的博文帮助我解决了我这几天遇到的问题

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

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

listen_addresses=127.0.0.1
unix_socket_permissions=0777
更改了/var/psql_套接字的权限

sudo chmod 755 /private/var/pgsql_socket

之后,我从root注销,并像通常作为服务器管理员那样登录。我不再获得权限错误。

哪个psql
最有可能显示/bin/psql 我猜我们应该调用/usr/local/bin/psql

因此,要么我们将$PATH更改为在/bin之前包含/local/bin,我认为这不是一个很好的解决方案(安全性等),要么 我们通过rm-ing(或mv-ing)文件(并符号链接到/usr/local/bin)来删除/usr/bin/psql
或者卸载psql客户端。

在我发布了我为消除原始错误所做的操作之后,我又遇到了这个问题。后来我发现,在我开始出现其他权限问题后,操作系统不知何故已经严重损坏。我决定从头开始重新安装服务器操作系统。谢天谢地,我在服务器上没有做太多无法轻松重新创建或从其他备份中获取的工作。我已经好几个月没有遇到过这个问题了,也不希望在这一点上(希望如此)。在两个月前部署了我的第一个Rails应用程序之后,我使用数据库没有任何问题!!!