我已经克隆了一个存储库,并通过一个装有Ubuntu的虚拟机并使用RVM设置了所有内容。有关Ruby on Rails的所有内容都是通过RVM安装的。
我的问题是,我的Ubuntu登录名不同于我假设数据库想要的用户。例如,我的Ubuntu登录名是Matt,但是当我启动Rails服务器并加载到localhost:3000时,它说的是:
ActiveRecord::NoDatabaseError
FATAL: role "James" does not exist
我知道这是一个postgres错误,但是现在我应该怎么做才能使它起作用?我已经搜索了之前的StackOverflow答案,但是这些方法不起作用。
例如。我已经改变了
local all postgres peer
到
local all postgres trust
或者再次使用psql -h localhost -U postgres
或sudo -u postgres createuser -s $(whoami); createdb $(whoami)
,它不起作用。第一个命令要求输入密码,我不知道该密码。
答案 0 :(得分:1)
您可以通过编辑<project_root>/config/database.yml
(source)来更改Rails用于连接到PostgreSQL的用户。
此外,您的第一个psql
命令不起作用的原因是-h localhost
,要求在host
中输入pg_hba.conf
,而不是local
。您可以忽略-h localhost
,使local
项生效,因为默认设置是通过本地套接字进行连接。