Mar*_*tus 61 postgresql linux postgresql-9.1
我知道,在安装时,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)。
Cra*_*ger 81
是否需要密码pg_shadow与是否为用户实际定义密码无关。是的,我知道,这很奇怪。
pg_hba.conf控制身份验证方法。如果要请求密码,请使用md5身份验证。如果您想允许任何人无需密码登录,请使用trust. 如果您想在操作系统中要求与 PostgreSQL 中相同的用户名,请使用peer(UNIX, only for local connections) 或sspi(Windows)。
如果设置了密码,但pg_hba.conf没有告诉 PostgreSQL 要求它,则忽略密码。
如果pg_hba.conf告诉 PostgreSQL 要求输入密码但没有设置,那么无论提供什么密码,所有登录尝试都将失败。
小智 19
postgres 用户默认没有密码。删除用户密码(在本例中为 postgres 用户/角色):
alter role postgres password null;
Run Code Online (Sandbox Code Playgroud)
我们还需要将身份验证设置为trustin pg_hba.conf- view details
| 归档时间: |
|
| 查看次数: |
137793 次 |
| 最近记录: |