pg_authid #目录 pg_authid 包含有关数据库授权标识符(角色)的信息。角色包含 “用户” 和 “组” 的概念。用户本质上只是一个设置了 rolcanlogin 标志的角色。任何角色(带有或不带有 rolcanlogin)都可以将其他角色作为成员;请参阅 pg_auth_members。
由于此目录包含密码,因此它不得公开读取。pg_roles 是 pg_authid 上的公开可读视图,它将密码字段留空。
第 22 章 包含有关用户和权限管理的详细信息。
由于用户标识是集群范围的,因此 pg_authid 在集群的所有数据库中共享:每个集群只有一个 pg_authid 副本,而不是每个数据库一个副本。
表 53.8. pg_authid 列
|
列类型 说明 |
|---|
|
行标识符 |
|
角色名称 |
|
角色具有超级用户权限 |
|
角色自动继承其成员角色的权限 |
|
角色可以创建更多角色 |
|
角色可以创建数据库 |
|
角色可以登录。也就是说,可以将此角色作为初始会话授权标识符。 |
|
角色是复制角色。复制角色可以发起复制连接并创建和删除复制槽。 |
|
角色绕过所有行级安全策略,有关详细信息,请参见第 5.8 节。 |
|
对于可以登录的角色,这会设置此角色可以建立的最大并发连接数。-1 表示无限制。 |
|
密码(可能已加密);如果无密码,则为 null。格式取决于所用的加密形式。 |
|
密码到期时间(仅用于密码身份验证);如果无到期时间,则为 null |
对于 MD5 加密密码,rolpassword 列将以字符串 md5 开头,后跟 32 个字符的十六进制 MD5 哈希值。MD5 哈希值是用户密码与其用户名连接后的哈希值。例如,如果用户 joe 的密码是 xyzzy,PostgreSQL 将存储 xyzzyjoe 的 md5 哈希值。
如果密码使用 SCRAM-SHA-256 加密,则格式为
SCRAM-SHA-256$<iteration count>:<salt>$<StoredKey>:<ServerKey>
其中 salt、StoredKey 和 ServerKey 采用 Base64 编码格式。此格式与 RFC 5803 中指定的格式相同。
不遵循上述任何格式的密码将被视为未加密。
如果您在文档中看到任何不正确、与您使用特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。