PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 48. 系统表 | 下一页

# 48.8. `pg_authid`

`pg_authid`包含有关数据库认证标识符(角色)的信息。 一个角色体现"用户"和"组"的概念。一个用户实际上只是一个设置了 `rolcanlogin`标志的角色。任何角色(不管是否设置了`rolcanlogin`标志) 都可以有其它角色做为成员；参阅`pg_auth_members`。

因为这个系统表包含口令，所以它不是公共可读的。`pg_roles` 是一个在`pg_authid`上的可读视图，只是把口令域填成了空白。

第 20 章包含用户和权限管理的详细信息。

因为用户标识是集群范围的，`pg_authid` 在一个集群里所有的数据库之间是共享的：每个集群只有一个`pg_authid` 拷贝，而不是每个数据库一个。

表 48-8. `pg_authid` 字段

名字 | 类型 | 描述
--- | --- | ---
`oid` | `oid` | 行标识符(隐藏属性; 必须明确选择)
`rolname` | `name` | 角色名称
`rolsuper` | `bool` | 角色拥有超级用户权限
`rolinherit` | `bool` | 角色自动继承其所属角色的权限
`rolcreaterole` | `bool` | 角色可以创建更多角色
`rolcreatedb` | `bool` | 角色可以创建数据库
`rolcatupdate` | `bool` | 角色可以直接更新系统表。如果没有设置这个字段为真，即使超级用户也不能这么做。
`rolcanlogin` | `bool` | 角色可以登录，也就是说，这个角色可以给予会话认证标识符。
`rolreplication` | `bool` | 角色是一个复制的角色。也就是说，这个角色可以发起流复制 （参阅第 25.2.5 节）和使用 `pg_start_backup`和`pg_stop_backup` 设置/取消设置系统备份模式。
`rolconnlimit` | `int4` | 对于可以登录的角色，限制其最大并发连接数量。-1 表示没有限制。
`rolpassword` | `text` | 口令(可能是加密的)；如果没有则为 NULL。如果密码是加密的，该字段将以`md5` 字符串开始，后面跟着一个32字符的十六进制MD5哈希值。该MD5哈希将是用户的口令加上用户名。 例如，如果用户`joe`的口令为`xyzzy`，PostgreSQL 将存储MD5哈希为`xyzzyjoe`。不遵从这个格式的密码被假设为未加密的。
`rolvaliduntil` | `timestamptz` | 口令失效时间(只用于口令认证)；如果没有失效期，则为 null

上一页 | 起始页 | 下一页
`pg_attribute` | 上一级 | `pg_auth_members`