【问题标题】:PostgreSQL Permission denied Error on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432" - Lion Server 10.7.3 or Lion Server 10.7.4Unix 域套接字“/var/pgsql_socket/.s.PGSQL.5432”上的 PostgreSQL 权限被拒绝错误 - Lion Server 10.7.3 或 Lion Server 10.7.4
【发布时间】:2012-07-07 19:27:09
【问题描述】:

我最近在使用 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 企业支持,看看我能做些什么。我怀疑 Lion Server 已损坏,但想在清理我的服务器并重新开始之前与支持团队确认。他们确认这是我需要做的才能理顺它。我在星期五做了这个,只安装了重建我的 Rails 应用程序所需的东西。我仍然得到错误。我再次尝试了发布的其他一些解决方案,但仍然没有一个有效。我们继续寻找解决方案。

【问题讨论】:

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


    【解决方案1】:

    在继续搜索博客文章后,我们找到了一篇涉及 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 注销并像通常作为服务器管理员一样登录。我不再收到权限错误。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 在我发布了我为消除原始错误所做的工作后,我最终再次遇到了这个问题。后来我发现,在我开始遇到其他权限问题后,不知何故操作系统已经严重损坏。我决定从头开始重新安装服务器操作系统。谢天谢地,我在服务器上做的事情不多,我无法轻松地重新创建或从其他备份中获取。我已经好几个月没有遇到这个问题了,也不希望在这一点上做(希望如此)。两个月前部署我的第一个 Rails 应用程序后,我使用数据库没有问题!!!
      猜你喜欢
      • 1970-01-01
      • 2013-09-09
      • 2021-08-31
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      相关资源
      最近更新 更多