【发布时间】:2019-10-04 20:59:07
【问题描述】:
我正在设置 Postgresql 以与 Rails 应用程序一起使用,但我似乎无法连接或正确配置数据库(启动 Rails 服务器后出现的错误是:ActiveRecord::NoDatabaseError 和could not translate host name "MyProfile" to address: nodename nor servname provided, or not known)。
我从关于这个主题的几十个其他问题中收集到,我需要切换到或创建“MyComputer”角色,但是我注意到它们都需要使用psql 命令。当我只运行psql 时,我再次收到错误FATAL: role "MyProfile" does not exist。
到目前为止,我一直在关注 Heroku 的安装过程并卡在here(或更准确地说是here,在安装后,Heroku 说运行psql -h localhost 应该可以工作)。我是否在这里遗漏了一个明显的步骤/做错了什么?
我也试过了:sudo su - MyProfilesudo -u postgres createuser owning_user的变体
以及其他几个命令来创建此卷/用户,但我似乎无法完成解决问题所需的工作。
编辑
我还运行了ps aux | grep postgres,看起来所有与postgres 相关的PID 都在“MyProfile”下运行(假设我没看错)。但是 psql 命令仍然返回该角色不存在。 #悲伤的脸
编辑 2
我刚刚打开 Postgres 应用程序并单击“打开 psql”按钮。它打开了终端,运行了一个命令('/Applications/Postgres.app/Contents/Versions/9.5/bin'/psql -p5432),然后给了我同样的错误(psql: FATAL: role "MyProfile" does not exist)。这可能向我暗示这是一个系统问题,而不是 Rails 问题?
编辑 3
这肯定是 pg 问题,而不是 rails 问题。我刚刚卸载了该应用程序,使用 SQLite (yucks) 重新安装了它,运行了本地服务器并显示了测试登录页面。所以问题似乎出在我的本地机器上,而不是应用程序本身。删除了 RoR 标签,仍在寻找 Postgres 专家关于角色问题为何持续存在的答案 :)
【问题讨论】: