psql:FATAL:用户窗口8的密码验证失败

Sar*_*enz 12 windows authentication postgresql win64

我在windows上安装了postgresql,而安装它要求为该帐户创建一个用户.这使我的计算机中的一个名为postgres的新Windows用户,我也为它创建了一个密码.

现在我想在Windows命令行上运行psql,它要求输入密码(不提及用户)并且总是给我回错:psql: FATAL: password authentication failed for user "Ash".即使我已经多次设置了我的帐户密码.

使用pgadmin我将用户"postgres"更改为"Ash",但我还没有重新设置密码.我按照这里的步骤操作:我忘记了在postgres安装期间输入的密码(我更喜欢打字,host all 127.0.0.1/32 trust因为我在Windows上),但是当再次运行psql以便我可以更改密码时我得到错误:psql FATAL:could not load pg_hba.conf.全部在一起.

为什么不加载?我所做的只是添加一个额外的身份验证选项.

Windows用户是否与postresql用户分开,或者它们是否相同(彼此依赖)?

编辑:

正如你所看到的,它没有让我选择Aisha是否应该成为超级用户.或其他选择.

我也用过pgadmin ||| 创建新用户但弹出相同的错误: 在此输入图像描述 在此输入图像描述

用户不存在,为什么这样做?

Sam*_*nen 14

您机器上的用户与PostgreSQL上的用户无关.安装程序只是使用相同的名称和密码创建一个帐户和一个PostgreSQL角色(在我看来这是一个坏主意),但它们没有任何关联.Windows用户用于运行服务器,PostgreSQL角色用于数据库内部.

因此,您应首先使用用户postgres访问服务器,然后为自己创建一个用户.请勿更改服务器内的用户名或服务器的正在运行的用户!只需创建一个新用户名并授予其所需的权限即可.

您可以使用psql -U postgres连接到服务器,它会要求输入密码.

检查pg_hba.conf的权限,postgres用户必须拥有权限.如果你只是作为管理员编辑它,它应该没问题,但如果你获得权限或其他任何东西,它可能会搞砸它.


Cra*_*ger 12

createuser是一个命令行实用程序.CREATE USER username WITH PASSWORD 'fred';在SQL级别使用或类似psql.注意分号.

你在屏幕截图中做的是开始编写一个SQL命令createuser,但从不将它发送到服务器运行,因为没有分号终止符.因此,您永远不会得到错误,告诉您这样做是没有意义的.