【问题标题】:FATAL: password authentication failed for user postgres aurora致命:用户 postgres aurora 的密码验证失败
【发布时间】:2020-07-01 18:15:35
【问题描述】:

如果我创建一个以 postgres 身份登录到根数据库的用户并创建一个用户......它不起作用。我做错了什么?

postgres=> CREATE ROLE myUser WITH LOGIN PASSWORD 'xxx';
CREATE ROLE
postgres=> GRANT CONNECT ON DATABASE myDatabase TO myUser;
GRANT
postgres=> GRANT USAGE ON SCHEMA public to myUser;
GRANT
postgres=> GRANT SELECT  ON ALL TABLES IN SCHEMA public TO myUser;
GRANT

当我去验证时,我得到一个错误。 psql -h $dbURL -U myUser myDatabase

致命:用户 myUser 的密码验证失败

【问题讨论】:

    标签: postgresql amazon-aurora


    【解决方案1】:

    您创建的用户是“myuser”,因为不在双引号内的 SQL 标识符会忽略大小写,并折叠为小写。但是在命令行工具中不会忽略大小写,因此您尝试以不存在的用户“myUser”身份登录。由于不存在的用户没有密码哈希,因此密码验证肯定会失败。

    【讨论】:

    • 你拯救了我的一天
    【解决方案2】:

    您可能想检查您是否有.pgpass file present 并检查environment variables 以查看您是否设置了PGPASSWORDPGPASSFILE。在任何这些情况下,psql 都不会提示输入密码,而是从文件或变量中获取密码——如果有什么不正确的,它会给你那个确切的错误。

    你可以

    1. 取消设置PGPASSWORDPGPASSFILE 变量
    2. 删除.pgpass 文件
    3. .pgpass文件中删除与此连接对应的条目
    4. 更正PGPASSFILE/PGPASSWORD变量的值或.pgpass文件的内容
    5. 使用带有-W switch 的 psql 使其忽略其他设置并始终提示输入密码
    6. 更改pg_hba.conf 文件中的host-based authentication 设置以更改身份验证方法或信任某种类型的连接

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2020-10-13
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 2021-03-23
      相关资源
      最近更新 更多