pg_shadow 存在是为了向下兼容:它模拟了一个 PostgreSQL 版本 8.1 之前的系统表。它显示了所有标记了 rolcanlogin 的角色的属性。
这个系统表的名字来自于该表不能被公众可读,因为它包含口令。pg_user 是一个在 pg_shadow 上公开可读的视图,只是把口令域填成了空白。
表43-45. pg_shadow 字段
名字 | 类型 | 引用 | 描述 |
usename | name | pg_authid.rolname | 用户名 |
usesysid | oid | pg_authid.oid | 用户的 ID |
usecreatedb | bool | | 用户可以创建数据库 |
usesuper | bool | | 用户是超级用户 |
usecatupd | bool | | 用户可以更新系统表。即使超级用户,如果这个字段不是真,也不能更新系统表。 |
passwd | text | | 口令(可能是加密的) |
valuntil | abstime | | 口令失效的时间(只用于口令认证) |
useconfig | text[] | | 运行时配置变量的会话缺省 |