我知道,在安装时,PostgreSQL 的 db root 用户 (postgres) 没有密码:
postgres=# select usename, passwd is null from pg_shadow;
usename | ?column?
----------+----------
postgres | t
(1 row)
Run Code Online (Sandbox Code Playgroud)
...建议将其设置为:
alter role postgres password '<<very-secret>>';
Run Code Online (Sandbox Code Playgroud)
(然后相应地更新pg_hba.conf
文件)
我的问题是:当 user 不需要密码时,使用什么 SQL 来恢复到以前的情况postgres
。
一般来说,我如何删除任何角色的密码要求?我不是在问如何更改密码,而是在问如何删除密码要求(passwd
表中的空列pg_shadow
)。
今天早上我一直在尝试连接 Windows 7 Professional 桌面上的 PostgreSQL 数据库。
默认值是“postgres”,但果然我忘记了最初安装时使用的密码。
我用谷歌搜索并找到了一篇与重置密码相关的帖子。我按照步骤操作,但最终结果与帖子中提到的有点不同。我用了-
net user postgres postgres
Run Code Online (Sandbox Code Playgroud)
为我的数据库重置密码,但我收到的不是成功消息:
“发生系统错误 5。访问被拒绝。”
系统错误。如何避免此错误并重置密码?
postgresql authentication windows password-recovery postgresql-9.1