我在 Windows 上安装了 postgresql,安装时它要求为该帐户创建一个用户。这在我的计算机上创建了一个名为 postgres 的新 Windows 用户,我也为其创建了一个密码。
现在我想在 Windows 命令行上运行 psql,它要求输入密码(不提及用户)并且总是返回错误:psql: FATAL: password authentication failed for user "Ash".
尽管我已经多次输入帐户密码。
使用 pgadmin 我将用户“postgres”更改为“Ash”,但我尚未重新设置密码。我按照这里的步骤操作:我忘记了 postgres 安装过程中输入的密码 https://stackoverflow.com/questions/10845998/i-forgot-the-password-i-entered-during-postgres-installation(我宁愿输入host all 127.0.0.1/32 trust
因为我在 Windows 上),但是当再次运行 psql 以便我可以更改密码时,出现错误:psql FATAL:could not load pg_hba.conf.
全部一起。
为什么无法加载?我所做的只是添加一个额外的身份验证选项。
另外,Windows 用户与 postgresql 用户是分开的还是相同的(相互依赖)?
Edit:
正如您所看到的,它没有给我选择 Aisha 是否应该成为超级用户的选项。或与此相关的其他选项。
I also used pgadmin||| to create a new user but the same error pops up:
用户不存在,为什么要这样做呢?
你机器上的用户与 PostgreSQL 上的用户没有任何关系。安装程序只是创建一个具有相同名称和密码的帐户和 PostgreSQL 角色(在我看来这是一个坏主意),但它们没有任何关联。 Windows用户用于运行服务器,PostgreSQL角色用于数据库内部。
因此,您应该首先使用用户 postgres 访问服务器,然后为自己创建一个用户。不要更改服务器内部的用户名或服务器的运行用户!只需创建一个新用户名并授予它您需要的权限。
您可以使用psql -U postgres
连接到服务器,它会要求输入密码。
检查pg_hba.conf的权限,postgres用户必须有权限。如果您仅以管理员身份编辑它,应该没问题,但如果您获取了权限或其他任何内容,则可能会弄乱。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)