所以我是 Rails 的新手,之前只使用过 SQLite3,在使用 PostgreSQL 时我什至都在努力运行一个简单的 rake 命令。
我只是想跟随这个关于安装 Postgres 的截屏视频的前 5 分钟:http://railscasts.com/episodes/342-migrating-to-postgresql
但即使我已按照指示完成所有操作,当我运行 rake db:create:all
时,我仍会收到无处不在的错误消息:
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"?
我到处都看到这个问题,但是有人可以一劳永逸地明确地回答这个问题吗(如果这样的任务如此简单的话)?
我使用自制软件安装 PostgreSQL。
当我运行 which psql
时,它说我正在使用 usr/bin/psql
中的那个,我相信这是 Mac OSX 原生的那个Lion(这不是一件坏事吗?如何切换到自制软件安装的那个,它在 usr/local/bin/psql
中?)。
我相当确定 Postgres 至少在运行:当我运行 ps auxw | grep postgres
,得到我的四个进程,如:
postgres: stats collector process
postgres: autovacuum launcher process
postgres: wal writer process
postgres: writer process
我什至能够很好地安装我的 pg
gem。我一整天都在努力让 Postgres 运行,感谢所有帮助!
编辑(带解决方案):
引用此链接:
Repairing Postgresql after upgrading to OSX 10.7 Lion
确实存在路径问题。所以我按照指示编辑了我的 .bash_profile,并从使用我在 usr/bin/psql
中的 native psql 安装切换到使用自制程序安装的 psql,usr/local/bin/psql
.
然后,我卸载了我的 pg gem,然后重新安装了它,然后 rake dr:create:all 开始工作了。 :)
编辑 2:
实际上,我还有很多问题!这太令人沮丧了! :)
最佳答案
您的权限可能搞砸了。尝试
sudo chmod -R 777 /var/pgsql_socket/
这为所有人提供了开放权限,因此可以满足您的开发服务器需求。
现在它应该可以工作了。
关于ruby-on-rails - Rails 中的 PostgreSQL : How do I make the server run locally AND accept connections on the Unix domain socket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443738/