PostgreSQL 19 ← 18
SYSTEM CATALOG · 系统目录
pg_authid
The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members. Since this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field. Chapter 21 contains detailed information about user and privilege management. Because user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.
已与 PostgreSQL 18.6 实例逐字段核对 · 原始实测记录 ↗
字段结构 PostgreSQL 18
pg_authid| 字段 / COLUMN | 类型 / TYPE | 说明 / DESCRIPTION |
|---|---|---|
oid |
oidNOT NULL |
Row identifier |
rolname |
nameNOT NULL |
Role name |
rolsuper |
booleanNOT NULL文档原写法:bool |
Role has superuser privileges |
rolinherit |
booleanNOT NULL文档原写法:bool |
Role automatically inherits privileges of roles it is a member of |
rolcreaterole |
booleanNOT NULL文档原写法:bool |
Role can create more roles |
rolcreatedb |
booleanNOT NULL文档原写法:bool |
Role can create databases |
rolcanlogin |
booleanNOT NULL文档原写法:bool |
Role can log in. That is, this role can be given as the initial session authorization identifier. |
rolreplication |
booleanNOT NULL文档原写法:bool |
Role is a replication role. A replication role can initiate replication connections and create and drop replication slots. |
rolbypassrls |
booleanNOT NULL文档原写法:bool |
Role bypasses every row-level security policy, see Section 5.9 for more information. |
rolconnlimit |
integerNOT NULL文档原写法:int4 |
For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit. |
rolpassword |
text |
Encrypted password; null if none. The format depends on the form of encryption used. |
rolvaliduntil |
timestamp with time zone文档原写法:timestamptz |
Password expiry time (only used for password authentication); null if no expiration |
标记“隐式列”的字段不包含在 SELECT * 中;部分早期统计视图由同版本源码补全,额外来源会显示在字段说明中。
通用系统列 6
PostgreSQL 提供的系统属性,通常不在 SELECT * 中展开。单独保留,不与普通字段混算。
| 字段 | 类型 | attnum |
|---|---|---|
tableoid | oid | -6 |
cmax | cid | -5 |
xmax | xid | -4 |
cmin | cid | -3 |
xmin | xid | -2 |
ctid | tid | -1 |
字段演化矩阵
悬停查看字段类型9.0 是收录基线;基线中已存在的字段不标记为新增。矩阵按字段名称对齐,重命名显示为旧字段移除与新字段新增。
演化时间线
相邻大版本的变化PostgreSQL 17 ← 16
PostgreSQL 14 ← 13
PostgreSQL 13 ← 12
PostgreSQL 12 ← 11
PostgreSQL 10 ← 9.6
PostgreSQL 9.6 ← 9.5
PostgreSQL 9.5 ← 9.4
PostgreSQL 9.3 ← 9.2
PostgreSQL 9.1 ← 9.0
比较任意两个版本
选择两个版本,查看字段的新增、移除与类型变化。交互比较需要 JavaScript;演化时间线可直接阅读。