我设置了Postgresql以便与Rails应用程序一起使用,但我似乎无法连接到或正确配置数据库(启动Rails服务器后出现的错误是:ActiveRecord::NoDatabaseError
和could not translate host name "MyProfile" to address: nodename nor servname provided, or not known
)。Postgresql角色不存在
我从其他几十个关于此主题的问题中收集了一些我需要切换到的内容,或者创建“MyComputer”角色,但我注意到他们都需要使用psql
命令。当我跑步时,即使只是psql
我也是,得到错误FATAL: role "MyProfile" does not exist
。
到目前为止,我一直在关注Heroku的INSTAL过程,我坚持here(或者更准确地说here,安装,在Heroku上说,运行psql -h localhost
应该工作之后)。我错过了一个明显的步骤/做错了什么?
我也试过:中sudo -u postgres createuser owning_user
sudo su - MyProfile
变化和其他几个命令,努力创建此卷/用户,但我似乎无法得到完成我需要解决问题。
编辑
我也跑ps aux | grep postgres
,它看起来像所有与任何Postgres的相关的PID的是在“我的资料”运行(假设我读它的权利)。但psql命令仍然返回该角色不存在。 #sadface
EDIT 2
我刚打开Postgres的应用程序,并单击 “打开PSQL” 按钮。它打开终端,运行命令('/Applications/Postgres.app/Contents/Versions/9.5/bin'/psql -p5432
),然后给我同样的错误(psql: FATAL: role "MyProfile" does not exist
)。这或许暗示了这是一个系统问题,而不是Rails问题呢?
编辑3
这肯定是一个PG的问题,而不是一个轨道的问题。我刚刚卸载了应用程序,使用SQLite(yucks)重新安装了它,运行本地服务器并使测试着陆页显示出来。所以问题似乎与我的本地机器,而不是应用程序本身。删除了RoR标签,并且仍在寻找Postgres专家为何角色问题仍然存在的答案:)
感谢@max的想法。我生成Rails应用程序指定PG数据库,这样用户名和密码被列入地方只有在生产环境: '生产: <<:*默认 数据库:myapp_com_production 用户名:myapp_com 密码:<% = ENV ['MYAPP_COM_DATABASE_PASSWORD']%>' (我还需要吗?)。 否则我的代码与上面提到的完全相同。 – DanielNordby