严重:用户postgres aurora的密码身份验证失败

时间:2020-07-01 18:15:35

标签: postgresql amazon-rds-aurora

如果我创建了一个以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的密码身份验证失败

2 个答案:

答案 0 :(得分:0)

您可能要检查是否有.pgpass file present并检查environment variables,以查看是否设置了PGPASSWORDPGPASSFILE。在上述任何一种情况下,psql都不会提示输入密码,而是从文件或变量中获取密码-如果输入的内容有误,它将给出确切的错误信息。

您可以

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

答案 1 :(得分:0)

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