PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

52.28. pg_init_privs #

目录 pg_init_privs 记录系统中对象的 初始特权信息。数据库中每个拥有非默认(非 NULL)初始特权集合的对象 各有一个条目。

对象具有初始特权的方式有两种:要么在系统初始化 (由 initdb)时设置了这些特权, 要么在通过 CREATE EXTENSION 创建对象期间,扩展脚本使用 GRANT 系统设置了初始特权。注意,系统会在扩展脚本运行期间自动处理特权的记录, 扩展作者只需在脚本中使用 GRANT 和 REVOKE 语句即可让特权被记录下来。 privtype 列指示初始特权是由 initdb 设置的,还是在 CREATE EXTENSION 命令期间设置的。

由 initdb 设置初始特权的对象 会有 privtype 为 'i' 的条目,而由 CREATE EXTENSION 设置初始特权的对象 会有 privtype 为 'e' 的条目。

Table 52.28. \1 字段列说明

Column Type

Description

objoid oid (引用任意 OID 列)

具体对象的 OID

classoid oid (references pg_class.oid)

该对象所在的系统目录的 OID

objsubid int4

对于表列,这是列号(objoid 和 classoid 指向表本身)。 对于所有其他对象类型,此列为零。

privtype char

定义该对象初始特权类型的代码;详见正文

initprivs aclitem[]

初始访问特权;详见 Section 5.8