MAC OS X上的Postgres权限被拒绝

我跟随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"? 

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

升级到OSX 10.7 Lion后修复Postgresql

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

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

参考

  • PostgreSQL文档:18.3。 连接和身份validation 。

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

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

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 curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh

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

这很有效。

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

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

我注释掉了mysql gem:

 # mysql 

然后跑了:

 bundle install 

然后:

 rake db:migrate 

它就像一个魅力。