不在我的角色列表中的用户的密码验证失败

Password authentication failed for a user not in my role list

我目前正在尝试 运行 在 rails 上使用 ruby 的服务,同时 运行 使用命令 rake db:schema:load

我收到密码未提供错误,检查我的 database.yml 文件我发现这一行:

#password:

我删除了评论但得到了同样的错误,所以我实际上指定了一个虚拟密码,如下所示:

password: dummy

然后我得到这个错误

password authentication failed for user "ivan"

在此之后我尝试 this solution 将我的密码实际设置为虚拟密码我仍然遇到相同的错误,我的 pg_hba.conf 有以下行:

local   all             all                                     peer

将 peer 更改为 md5 会产生相同的错误,在检查我的 postgres 角色后,列出的唯一一个是 "postgres" 而不是 "ivan",尝试 [=36] 时出现此角色的原因是什么=] 我的命令以及如何修复它?

您需要在 postgres 中创建新用户。请尝试以下命令来创建新角色和用户

sudo su postgres

psql
du # for checking all existing roles
CREATE ROLE ivan WITH LOGIN SUPERUSER PASSWORD 'ivan123';
du # check whether this role created or not

然后在 database.yml

中添加数据库用户名 'ivan' 和密码 'ivan123'