psql:致命:用户 windows 8 的密码验证失败
psql: FATAL: password authentication failed for user windows 8
我在 windows 上安装了 postgresql,当安装要求为 account.This 创建一个用户时,我在我的计算机上创建了一个名为 postgres 的新 windows 用户,我创建了一个也是它的密码。
现在我想在 windows 命令行上 运行 psql,它要求输入密码(没有提到用户)并且总是给我返回错误:psql: FATAL: password authentication failed for user "Ash".
即使我已经多次输入我的帐户密码。
使用 pgadmin 我将用户 "postgres" 更改为 "Ash" 但我还没有重新设置密码。我按照这里的步骤操作:I forgot the password I entered during postgres installation(我宁愿键入 host all 127.0.0.1/32 trust
因为我在 windows),但是当再次 运行ning psql 以便我可以更改我得到的密码时错误:psql FATAL:could not load pg_hba.conf.
全部在一起。
为什么加载不出来?我所做的只是添加一个额外的身份验证选项。
此外,windows 用户与 postresql 用户是分开的还是相同的(相互依赖)?
编辑:
如您所见,它没有让我选择 Aisha 是否应该是超级用户。或其他选项。
我也用过pgadmin|||创建一个新用户但弹出相同的错误:
用户不存在,为什么会这样?
你机器上的用户与PostgreSQL上的用户无关。安装程序只是创建一个帐户和一个具有相同名称和密码的 PostgreSQL 角色(在我看来这是个坏主意),但它们没有任何关系。 Windows用户用于运行服务器,PostgreSQL角色用于数据库内部。
所以你应该先用用户postgres访问服务器,然后再为自己创建一个用户。不要更改服务器内部的用户名,或服务器的 运行ning 用户!只需创建一个新用户名并授予它您需要的权限。
您可以使用 psql -U postgres
连接到服务器,它会要求输入密码。
检查 pg_hba.conf 的权限,postgres 用户必须有权限。如果你只是以管理员身份编辑它应该没问题,但如果你获得了权限或其他任何东西,它可能会搞砸。
createuser
是一个命令行实用程序。在 psql
中的 SQL 级别使用 CREATE USER username WITH PASSWORD 'fred';
或类似内容。注意分号。
您在屏幕截图中所做的是开始编写以 createuser
开头的 SQL 命令,但永远不会将其发送到服务器 运行,因为没有分号终止符.因此,您永远不会收到会告诉您这样做没有意义的错误。
我遇到了完全相同的问题,这一行解决了它;
createuser --createdb -U postgres --login -P 'your_new_user'
@sami-kuhmonen说的对,但是他的解题方法对我没用。
如果存储密码的加密与 postgresql.conf ang pg_hba.conf
中定义的连接加密不匹配,也会发生这种情况
例如,如果 postgresql.conf 有:
password_encryption = md5
但是 pg_hba.conf 有:
host all all 10.0.0.110/24 scram-sha-256
然后 10.0.0.110 接口上的所有连接都将具有 'FATAL: password authentication failed error'。
请记住,如果您更改这些文件中的任何一个,您将需要重新启动 postgresql,如果您在 postgresql.conf 中更改密码加密,您将需要更改所有用户的密码。
希望这可以帮助其他人解决这个问题。
我在 windows 上安装了 postgresql,当安装要求为 account.This 创建一个用户时,我在我的计算机上创建了一个名为 postgres 的新 windows 用户,我创建了一个也是它的密码。
现在我想在 windows 命令行上 运行 psql,它要求输入密码(没有提到用户)并且总是给我返回错误:psql: FATAL: password authentication failed for user "Ash".
即使我已经多次输入我的帐户密码。
使用 pgadmin 我将用户 "postgres" 更改为 "Ash" 但我还没有重新设置密码。我按照这里的步骤操作:I forgot the password I entered during postgres installation(我宁愿键入 host all 127.0.0.1/32 trust
因为我在 windows),但是当再次 运行ning psql 以便我可以更改我得到的密码时错误:psql FATAL:could not load pg_hba.conf.
全部在一起。
为什么加载不出来?我所做的只是添加一个额外的身份验证选项。
此外,windows 用户与 postresql 用户是分开的还是相同的(相互依赖)?
编辑:
如您所见,它没有让我选择 Aisha 是否应该是超级用户。或其他选项。
我也用过pgadmin|||创建一个新用户但弹出相同的错误:
用户不存在,为什么会这样?
你机器上的用户与PostgreSQL上的用户无关。安装程序只是创建一个帐户和一个具有相同名称和密码的 PostgreSQL 角色(在我看来这是个坏主意),但它们没有任何关系。 Windows用户用于运行服务器,PostgreSQL角色用于数据库内部。
所以你应该先用用户postgres访问服务器,然后再为自己创建一个用户。不要更改服务器内部的用户名,或服务器的 运行ning 用户!只需创建一个新用户名并授予它您需要的权限。
您可以使用 psql -U postgres
连接到服务器,它会要求输入密码。
检查 pg_hba.conf 的权限,postgres 用户必须有权限。如果你只是以管理员身份编辑它应该没问题,但如果你获得了权限或其他任何东西,它可能会搞砸。
createuser
是一个命令行实用程序。在 psql
中的 SQL 级别使用 CREATE USER username WITH PASSWORD 'fred';
或类似内容。注意分号。
您在屏幕截图中所做的是开始编写以 createuser
开头的 SQL 命令,但永远不会将其发送到服务器 运行,因为没有分号终止符.因此,您永远不会收到会告诉您这样做没有意义的错误。
我遇到了完全相同的问题,这一行解决了它;
createuser --createdb -U postgres --login -P 'your_new_user'
@sami-kuhmonen说的对,但是他的解题方法对我没用。
如果存储密码的加密与 postgresql.conf ang pg_hba.conf
中定义的连接加密不匹配,也会发生这种情况例如,如果 postgresql.conf 有:
password_encryption = md5
但是 pg_hba.conf 有:
host all all 10.0.0.110/24 scram-sha-256
然后 10.0.0.110 接口上的所有连接都将具有 'FATAL: password authentication failed error'。
请记住,如果您更改这些文件中的任何一个,您将需要重新启动 postgresql,如果您在 postgresql.conf 中更改密码加密,您将需要更改所有用户的密码。
希望这可以帮助其他人解决这个问题。