代码之家  ›  专栏  ›  技术社区  ›  IvanHid

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

  •  0
  • IvanHid  · 技术社区  · 6 年前

    我目前正在尝试运行一个使用RubyonRails的服务,同时运行该命令 rake db:schema:load

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

    #password:

    我删除了注释,但得到了相同的错误,所以我实际上指定了一个类似这样的假密码:

    password: dummy
    

    然后我得到了这个错误

    password authentication failed for user "ivan"
    

    在这之后我试过了 this solution 要将我的密码设置为dummy,我仍然会得到相同的错误,我的pg_hba.conf有以下行:

    local   all             all                                     peer
    

    将peer改为md5会产生相同的错误,在检查了我的postgres角色后,列出的唯一一个是“postgres”而不是“ivan”,在尝试运行我的命令时,这个角色出现的原因是什么?如何修复它?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Vishal    6 年前

    您需要在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
    

    然后在数据库中添加数据库用户名为“ivan”,密码为“ivan123”。yml