历史版本。 PostgreSQL 9.6 已结束支持。 2021-11-11. 请参阅 当前版本手册.
50.8. pg_authid #
目录pg_authid包含关于数据库授权标识符(角色)的信息。角色涵盖了“用户”和“组”这两个概念。用户本质上只是设置了rolcanlogin标志的角色。任何角色(无论是否设置了rolcanlogin)都可以拥有其他角色作为成员;参见pg_auth_members。
由于这个目录包含密码,它不应公开可读。pg_roles是建立在pg_authid之上的公开可读视图,它会隐藏密码字段。
第 21 章包含关于用户和权限管理的详细信息。
由于用户标识符是集簇范围的,pg_authid在一个集簇的所有数据库之间共享:在一个集簇中只有一份pg_authid拷贝,而不是每个数据库一份。
表 50.8. pg_authid 列
| 名称 | 类型 | 描述 |
|---|---|---|
oid | oid | 行标识符(隐藏属性,必须显式选择) |
rolname | name | 角色名 |
rolsuper | bool | 角色有超级用户权限 |
rolinherit | bool | 该角色是否会自动继承其所属其他角色的权限 |
rolcreaterole | bool | 角色能创建更多角色 |
rolcreatedb | bool | 角色能创建数据库 |
rolcanlogin | bool | 角色是否能登录。即该角色是否能够作为初始会话授权标识符 |
rolreplication | bool | 角色是一个复制角色。复制角色可以启动复制连接并且创建和删除复制槽。 |
rolbypassrls | bool | 角色是否可以绕过所有的行级安全性策略,详见第 5.7 节。 |
rolconnlimit | int4 | 对于可以登录的角色,本列设置该角色能够建立的最大并发连接数。-1 表示无限制。 |
rolpassword | text | 密码(可能已加密);如果未设置则为空值。如果密码已加密,这一列将以字符串md5开头,后面跟一个 32 字符的十六进制 MD5 哈希值。该 MD5 哈希是对用户密码与其用户名拼接后计算得到的。例如,如果用户joe的密码是xyzzy,PostgreSQL将存储xyzzyjoe的 md5 哈希。不符合该格式的密码被假定为未加密。 |
rolvaliduntil | timestamptz | 密码过期时间(仅用于密码认证);不设过期时间时为空值 |