AKI*_*WEB 38 postgresql authentication windows password-recovery postgresql-9.1
今天早上我一直在尝试连接 Windows 7 Professional 桌面上的 PostgreSQL 数据库。
默认值是“postgres”,但果然我忘记了最初安装时使用的密码。
我用谷歌搜索并找到了一篇与重置密码相关的帖子。我按照步骤操作,但最终结果与帖子中提到的有点不同。我用了-
net user postgres postgres
Run Code Online (Sandbox Code Playgroud)
为我的数据库重置密码,但我收到的不是成功消息:
“发生系统错误 5。访问被拒绝。”
系统错误。如何避免此错误并重置密码?
Cra*_*ger 42
(注:没有太多的,这是有关使用PostgreSQL 9.2或更高版本从EDB安装阅读器,它现在有一个大大简化了默认安装使用NETWORK SERVICE,但你仍然可以配置其他帐户)。
我曾经
net user postgres postgres为我的数据库重置密码,但我收到的不是成功消息"System error 5 has occurred. Access is denied."
您已重置(或尝试重置)服务帐户密码。出于安全原因,PostgreSQL 不会以管理员身份运行,安装程序通常会在 PostgreSQL 9.1 及更早版本1 中使用“postgres”用户帐户设置它。在 Windows 上,如果不将用户的密码保存在注册表中,您就无法以用户身份启动服务,这就是安装程序所做的。
如果更改 Windows 用户帐户的密码postgres,则 PostgreSQL 服务将无法再启动。所以不要这样做,您必须修复服务配置以存储更新的密码。
谢天谢地,我认为另一个错误阻止了你这样做。看起来您可能在非特权 Windows 用户帐户或具有 UAC 的计算机上运行命令提示符而不使用“以管理员身份运行”,因此它没有以更改postgres用户密码所需的访问权限运行。
在您尝试更改该密码之前,请确保它确实是您想要执行的操作。你在这里试图解决的问题是什么?您是否正在尝试安装数据库更新或其他要求postgresWindows 用户密码的东西?
很可能您只是想登录数据库。为此,您使用存储在数据库本身中的(不幸的是完全无关的)密码。由于您丢失/忘记了它,因此您必须重置它:
pg_hba.conf,通常在C:\Program Files\PostgreSQL\9.1\data\pg_hba.confpg_hba.conf这种方式打开。编辑它以将主机“127.0.0.1/32”上用户“postgres”的“host”行设置为“trust”。如果它不存在,您可以添加该行;只需插入:
host all postgres 127.0.0.1/32 trust
host all postgres ::1/128 trust # if IPv6 is in use
Run Code Online (Sandbox Code Playgroud)
在任何其他行之前。(您可以忽略注释,以 开头的行#)。
从服务控制面板重启 PostgreSQL 服务(开始->运行-> services.msc)
ALTER USER postgres PASSWORD 'postgres'pg_hba.conf或将其改回请参阅:如何在 Windows 上重置 PostgreSQL 的 postgres 密码?
1. 9.2现在使用NETWORKSERVICE账号,不需要密码,这个问题就解决了。
| 归档时间: |
|
| 查看次数: |
184157 次 |
| 最近记录: |