MAC OS X上的Postgres权限被拒绝

时间:2012-05-29 00:52:41

标签: ruby-on-rails ruby-on-rails-3 macos postgresql osx-lion

我跟随ruby on rails教程运行postgres但是当我尝试“rake db:create”时出现以下错误:

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"?

我发现这个问题发出了一些类似的问题,但无论如何我都无法使它发挥作用。

Repairing Postgresql after upgrading to OSX 10.7 Lion

我在阅读完这个问题后安装了自制软件,路径很好,brew医生告诉我路径上没有错误。

6 个答案:

答案 0 :(得分:54)

您可以尝试 TCP连接,而不是排查套接字文件权限。将host: localhost添加到config/database.yml。当然,这只有在postgres正在侦听TCP流量时才有效。默认情况下,Postgres会侦听端口5432,因此netstat -an | grep 5432会告诉您它是否正在侦听。

<强>参考

答案 1 :(得分:1)

哦,可能是你在另一个应用程序中打开postgre,比如 pgadmin http://www.pgadmin.org/ 尝试关闭任何使用postgre SQL的应用程序并再次运行命令。

答案 2 :(得分:0)

我今天遇到了同样的问题,发现下面的博客文章帮助了我:

http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/

  

它将您的OS X默认postgres二进制文件移动到一个存档文件夹中,并用自动填充代码表示自制软件版本。

<强> TL; DR curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh

答案 3 :(得分:0)

我有同样的问题。在尝试上面发布的所有建议失败后,我终于退出终端并重新启动它。

这很有用。

答案 4 :(得分:0)

检查你的config / database.yml是否有------ host:localhost和port :(由netstat -an | grep 5432或5433自行检查)

答案 5 :(得分:-2)

我也遇到了这个问题,因为我的Gemfile中有mysql和pg gems都处于活动状态。

我注释掉了mysql gem:

# mysql 

然后跑了:

bundle install 

然后:

rake db:migrate 

它就像一个魅力。