Postgresql 默认postgres用户和密码

Postgresql 默认postgres用户和密码,postgresql,Postgresql,我刚刚接触postgresql数据库管理。 我一直在玩我没有创建的db。 试图了解已创建的不同角色 我可以按以下方式登录是否意味着postgres用户没有设置密码 psql -U postgres 我做了一个测试 `select * from pg_roles` 我可以看到有一套密码。 我发现这篇文章: 这让我确认postgres用户默认在那里。。。 你必须明确地设置密码。这是关于密码的第二部分,我不确定。它是默认为空还是设置为某个值 我知道,如果pg_hba.conf设置为信任127.0

我刚刚接触postgresql数据库管理。 我一直在玩我没有创建的db。 试图了解已创建的不同角色

我可以按以下方式登录是否意味着postgres用户没有设置密码

psql -U postgres 
我做了一个测试

`select * from pg_roles`
我可以看到有一套密码。 我发现这篇文章: 这让我确认postgres用户默认在那里。。。 你必须明确地设置密码。这是关于密码的第二部分,我不确定。它是默认为空还是设置为某个值

我知道,如果pg_hba.conf设置为信任127.0.0.1中的所有内容,那么您可以从本地服务器登录,而无需指定密码。这可能就是我的情况。。。我将通过更改pg_hba.conf文件进行测试。。。 但如果知道postgres用户的默认密码是什么,那就太好了


谢谢

pgu角色
不是可以判断用户是否拥有密码的视图,因为密码字段总是设置为
******

这来自此视图的定义(取自9.3版):

结果:

SELECT pg_authid.rolname, pg_authid.rolsuper, pg_authid.rolinherit, pg_authid.rolcreaterole, pg_authid.rolcreatedb, pg_authid.rolcatupdate, pg_authid.rolcanlogin, pg_authid.rolreplication, pg_authid.rolconnlimit, '********'::text AS rolpassword pg_authid.rolvaliduntil, s.setconfig AS rolconfig, pg_authid.oid FROM (pg_authid LEFT JOIN pg_db_role_setting s ON (((pg_authid.oid = s.setrole) AND (s.setdatabase = (0)::oid)))); 香草Debian安装的结果:

usename | passwd ----------+------------------------------------- postgres | foo | foopassword bar | md50390570d30cb9a2f9cb7476f0763cf51 usename | passwd ----------+------------------------------------- 博士后 foo | foo密码 钢筋| md50390570d30cb9a2f9cb7476f0763cf51 最初,postgres的密码通常是空的,除了在安装程序要求的Windows上。在Unix上,
pg_hba.conf
通常设置为只有OS用户
postgres
可以作为数据库用户
postgres
通过Unix套接字域登录,而无需密码。作为默认安全策略,这是合理的。Windows没有Unix域套接字,最新版本的安装程序甚至没有使用
postgres
OS用户,因此它实现不同的默认安全策略是有意义的


如果密码为空,并且
pg_hba.conf
需要输入连接的特定数据库/用户/来源的密码,则该连接将被拒绝。空白密码和缺少密码之间没有区别。

没有默认密码。您可以通过将
pg_hba.conf
中的“trust”更改为“md5”并重新加载配置文件(例如
选择pg_reload_conf()
。同时检查
~postgres/.pgpass
文件来验证这一点。
create user foo unencrypted password 'foopassword';
create user bar encrypted password 'foopassword';
select usename,passwd from pg_shadow where usename in ('postgres','foo','bar');
usename | passwd ----------+------------------------------------- postgres | foo | foopassword bar | md50390570d30cb9a2f9cb7476f0763cf51