致命:用户 postgres aurora 的密码验证失败
FATAL: password authentication failed for user postgres 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
的密码验证失败
您可能需要检查是否有 .pgpass
file present and inspect the environment variables,看看您是否设置了 PGPASSWORD
或 PGPASSFILE
。在任何这些情况下,psql 都不会提示输入密码,而是从文件或变量中获取密码 - 如果那里的内容不正确,它会给你确切的错误。
你可以
- 取消设置
PGPASSWORD
或 PGPASSFILE
变量
- 删除
.pgpass
文件
- 从
.pgpass
文件中删除与此连接对应的条目
- 更正
PGPASSFILE
/PGPASSWORD
变量的值或 .pgpass
文件的内容
- 将 psql 与
-W
switch 一起使用,使其忽略其他设置并始终提示输入密码
- 更改
pg_hba.conf
文件中的 host-based authentication 设置以更改身份验证方法或信任某种类型的连接
您创建的用户是“myuser”,因为 SQL 不在双引号内的标识符会忽略大小写,并折叠为小写。但是在命令行工具中不会忽略大小写,因此您试图以不存在的用户“myUser”身份登录。由于不存在的用户没有密码哈希,密码验证肯定失败。
如果我创建一个以 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
的密码验证失败您可能需要检查是否有 .pgpass
file present and inspect the environment variables,看看您是否设置了 PGPASSWORD
或 PGPASSFILE
。在任何这些情况下,psql 都不会提示输入密码,而是从文件或变量中获取密码 - 如果那里的内容不正确,它会给你确切的错误。
你可以
- 取消设置
PGPASSWORD
或PGPASSFILE
变量 - 删除
.pgpass
文件 - 从
.pgpass
文件中删除与此连接对应的条目 - 更正
PGPASSFILE
/PGPASSWORD
变量的值或.pgpass
文件的内容 - 将 psql 与
-W
switch 一起使用,使其忽略其他设置并始终提示输入密码 - 更改
pg_hba.conf
文件中的 host-based authentication 设置以更改身份验证方法或信任某种类型的连接
您创建的用户是“myuser”,因为 SQL 不在双引号内的标识符会忽略大小写,并折叠为小写。但是在命令行工具中不会忽略大小写,因此您试图以不存在的用户“myUser”身份登录。由于不存在的用户没有密码哈希,密码验证肯定失败。