Rails中的PostqreSQL:如何让服务器在本地运行并接受Unix域套接字上的连接?
所以我是Rails的新手,之前只使用过SQLite3,而且在使用PostgreSQL时我甚至都在努力运行一个简单的rake命令。
我只想按照安装Postgres的这个截屏video的前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"?
我到处都看到这一点,但有人可以一劳永逸地回答这个问题(如果这样的任务如此简单)?
我用homebrew来安装PostgreSQL。
当我运行which psql
,它说我正在使用usr/bin/psql
中的那个,我相信它是Mac OSX Lion原生的那个(这不是一件坏事吗?我怎么切换到一个由homebrew安装,在usr/local/bin/psql
?)。
我相当肯定Postgres至少在运行:当我运行ps auxw | grep postgres
ps auxw | grep postgres
,我得到了我的四个流程,例如:
postgres: stats collector process postgres: autovacuum launcher process postgres: wal writer process postgres: writer process
我甚至可以安装我的pg
gem。 我一整天都在努力让Postgres跑步,我感谢所有人的帮助!
编辑(解决方案):
参考此链接:
升级到OSX 10.7 Lion后修复Postgresql
确实存在路径问题。 所以我按照指示编辑了我的.bash_profile,并从使用usr/bin/psql
中的原生psql安装切换到homebrew, usr/local/bin/psql
。
然后,我卸载了我的pg gem,然后重新安装它,然后rake dr:create:all开始工作了。 🙂
编辑2:
实际上,我仍然有很多问题! 这太令人沮丧了! 🙂
您的权限可能搞砸了。 尝试
sudo chmod -R 777 /var/pgsql_socket/
这为每个人提供了开放权限,因此它适合您的开发服务器需求。
现在它应该工作。
- 在Heroku上部署 – 上传后图像消失
- 这些figaro配置设置是否适用于heroku部署?
- -bash:/ usr / local / bin / heroku:/ usr / local / bin / ruby:bad interpreter:没有这样的文件或目录
- exception_notification gem仅在Heroku生产模式下引发ActionView :: Template :: Error(未找到代码转换器(UTF-8到UTF-16))
- 在Procfile中启动多个worker(开发环境vs Heroku)
- 具有多个Web面向过程的Heroku Cedar应用程序
- Heroku app坚持使用HTTPS – 为什么?
- Rails 4,资产编译
- Heroku – 如何将数据从数据库提取到本地数据库?