## 52.8.`pg_authid`
[](<>)
目录`pg_authid`包含有关数据库授权标识符(角色)的信息。角色包含“用户”和“组”的概念。用户本质上只是一个角色`登录`标志设置。任何角色(有或没有`登录`) 可以担任其他成员的角色;看[`pg_auth_members`](catalog-pg-auth-members.html).
由于此目录包含密码,因此不得公开阅读。[`pg_roles`](view-pg-roles.html)是一个公众可读的观点`pg_authid`这会清空密码字段。
[第 22 章](user-manag.html)包含有关用户和权限管理的详细信息。
因为用户身份是集群范围的,`pg_authid`在集群的所有数据库之间共享:只有一个副本`pg_authid`每个集群,而不是每个数据库一个。
**表 52.8.`pg_authid`列**
| 列类型
描述 |
| --------------- |
| `样的` `样的`
行标识符 |
| `名字` `姓名`
角色名称 |
| `超级英雄` `布尔`
角色具有超级用户权限 |
| `罗林继承` `布尔`
角色自动继承其所属角色的权限 |
| `角色创建角色` `布尔`
角色可以创建更多角色 |
| `角色创建数据库` `布尔`
角色可以创建数据库 |
| `登录` `布尔`
角色可以登录。也就是说,这个角色可以作为初始会话授权标识符。复制 |
| `布尔` `角色是复制角色。`
复制角色可以启动复制连接并创建和删除复制槽。rolbypassrls |
| `布尔` `角色绕过每个行级安全策略,请参阅`
第 5.8 节[了解更多信息。](ddl-rowsecurity.html)rolconnlimit |
| `整数4` `对于可以登录的角色,这将设置此角色可以建立的最大并发连接数。`
-1 表示没有限制。 |
| `密码` `文本`
密码(可能已加密);如果没有,则为空。格式取决于所使用的加密形式。 |
| `有效期限` `时间戳记`
密码过期时间(仅用于密码认证);如果没有过期,则为 null |
对于 MD5 加密密码,`密码`列将以字符串开头`md5`后跟一个 32 个字符的十六进制 MD5 哈希。MD5 散列将用户的密码与用户名连接起来。例如,如果用户`乔`有密码`xyzzy`, PostgreSQL 将存储 md5 哈希`xyzzyjoe`.
如果密码使用 SCRAM-SHA-256 加密,则其格式为:
```
SCRAM-SHA-256$:$:
```
在哪里*`盐`*,*`存储密钥`*和*`服务器密钥`*采用 Base64 编码格式。此格式与指定的格式相同[RFC 5803](https://tools.ietf.org/html/rfc5803).
假定不遵循这两种格式的密码是未加密的。