psql:FATAL:用户Windows 8的密码validation失败

我在windows上安装了postgresql,并在安装时要求为该帐户创build一个用户。这使得我的计算机中有一个名为postgres的新的Windows用户,我也为它创build了一个密码。

现在我想在Windows命令行上运行psql,它要求提供一个密码(不提到用户),并总是给我回来的错误: psql: FATAL: password authentication failed for user "Ash". 即使我已经把我的帐户密码多次。

使用pgadmin我把用户“postgres”改为“Ash”,但是我还没有重新设置密码。 我遵循这里的步骤: 我忘记了我在postgres安装期间input的密码 (我宁愿键入host all 127.0.0.1/32 trust因为我在Windows上),但是当再次运行psql时,我可以更改密码,我得到错误: psql FATAL:could not load pg_hba.conf. 全部一起。

为什么不能加载? 我所做的只是添加一个额外的身份validation选项。

另外,Windows用户是从postresql用户分开还是相同(相互依赖)?

编辑:

正如你所看到的,它没有给我select是否Aisha应该是超级用户的select。 或者这个问题的其他选项。

我也用pgadmin ||| 创build一个新的用户,但同样的错误popup: 在这里输入图像说明在这里输入图像说明

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

createuser是一个命令行工具。 使用CREATE USER username WITH PASSWORD 'fred'; 或在psql中的SQL级别类似。 注意分号。

你在截图中正在做的是开始写一个以createuser开头的SQL命令,但是从来没有发送给服务器去运行,因为没有分号结束符。 所以你永远不会得到错误,告诉你这是没有意义的。

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

所以你应该首先用用户postgres访问服务器,然后为自己创建一个用户。 不要更改服务器里面的用户名,或者服务器正在运行的用户! 只需创建一个新的用户名并授予您所需的权限。

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

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