PostgreSQL 19 ← 18
SYSTEM CATALOG · 系统目录
pg_init_privs
The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges. Objects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command. Objects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.
已与 PostgreSQL 18.6 实例逐字段核对 · 原始实测记录 ↗
字段结构 PostgreSQL 18
pg_init_privs| 字段 / COLUMN | 类型 / TYPE | 说明 / DESCRIPTION |
|---|---|---|
objoid |
oidNOT NULL |
The OID of the specific object引用:any OID column |
classoid |
oidNOT NULL |
The OID of the system catalog the object is in引用:pg_class.oid |
objsubid |
integerNOT NULL文档原写法:int4 |
For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero. |
privtype |
"char"NOT NULL文档原写法:char |
A code defining the type of initial privilege of this object; see text |
initprivs |
aclitem[]NOT NULL |
The initial access privileges; see Section 5.8 for details |
标记“隐式列”的字段不包含在 SELECT * 中;部分早期统计视图由同版本源码补全,额外来源会显示在字段说明中。
通用系统列 6
PostgreSQL 提供的系统属性,通常不在 SELECT * 中展开。单独保留,不与普通字段混算。
| 字段 | 类型 | attnum |
|---|---|---|
tableoid | oid | -6 |
cmax | cid | -5 |
xmax | xid | -4 |
cmin | cid | -3 |
xmin | xid | -2 |
ctid | tid | -1 |
字段演化矩阵
悬停查看字段类型| 字段 / COLUMN | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
objoid |
– | – | – | – | – | – | |||||||||||
classoid |
– | – | – | – | – | – | |||||||||||
objsubid |
– | – | – | – | – | – | |||||||||||
privtype |
– | – | – | – | – | – | |||||||||||
initprivs |
– | – | – | – | – | – |
9.0 是收录基线;基线中已存在的字段不标记为新增。矩阵按字段名称对齐,重命名显示为旧字段移除与新字段新增。
演化时间线
相邻大版本的变化PostgreSQL 17 ← 16
PostgreSQL 12 ← 11
PostgreSQL 9.6 ← 9.5新增目录
比较任意两个版本
选择两个版本,查看字段的新增、移除与类型变化。交互比较需要 JavaScript;演化时间线可直接阅读。