我跟随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医生告诉我路径上没有错误。
答案 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
它就像一个魅力。