Skip to content

53.28.pg_init_privs#

目录pg_init_privs记录有关系统中对象的初始权限的信息。对于数据库中具有非默认(非 NULL)初始权限集的每个对象,都有一个条目。

对象可以通过在系统初始化时(通过initdb)或在CREATE EXTENSION期间创建对象时设置这些权限来获得初始权限,并且扩展脚本使用GRANT系统设置初始权限。请注意,系统将在扩展脚本期间自动处理权限的记录,并且扩展作者只需在脚本中使用GRANTREVOKE语句即可记录权限。privtype列指示初始权限是由initdb设置的还是在CREATE EXTENSION命令期间设置的。

初始权限由initdb设置的对象将具有privtype'i'的条目,而初始权限由CREATE EXTENSION设置的对象将具有privtype'e'的条目。

表 53.28.pg_init_privs

列类型

描述

objoid oid(引用任何 OID 列)

特定对象的 OID

classoid oid(引用 pg_class.oid

对象所在的系统目录的 OID

objsubid int4

对于表列,这是列号(objoidclassoid 引用表本身)。对于所有其他对象类型,此列为零。

privtype char

定义此对象的初始权限类型的代码;请参阅文本

initprivs aclitem[]

初始访问权限;有关详细信息,请参阅 第 5.7 节