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

时间:2012-07-07 18:03:35

标签: ruby osx-lion ruby-on-rails-3.2 postgresql-9.0

我最近使用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应用程序。我还是得到了错误。我再次尝试了一些已经发布的其他解决方案,但仍然没有一个工作。我们继续寻找解决方案。

2 个答案:

答案 0 :(得分:0)

继续搜索博客文章之后,我们找到了一个处理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并按照平时的服务器管理员身份登录。我不再得到许可错误。

答案 1 :(得分:0)

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

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