GBase 8c
其他
文章

认识 GBase 8c 系统表——pg_init_privs

发表于2023-12-11 10:55:3420次浏览5个评论

GBase 8c 系统表pg_init_privs用于记录系统中对象的初始权限。数据库中每一个具有非默认(非-NULL)初始权限集合的对象都有一个条目在其中。
 

 

对象可以在系统初始化(initdb)时获得其初始权限,也可以在CREATE EXTENSION期间创建该对象并且在扩展脚本中用GRANT来设置对象的初始权限。注意系统将自动处理扩展脚本执行期间对权限的记录,扩展的作者们只需要在他们的脚本中使用GRANT以及REVOKE语句以便权限被记录下来。privtype列表示初始权限是被initdb设置还是在一次CREATE EXTENSION命令期间被设置。

具有被initdb设置的初始权限的对象的条目中privtype是'i',而具有被CREATE EXTENSION设置的初始权限的对象的条目中privtype为'e'。

名称

类型

引用

描述

objoid

oid

任何 OID 列

指定对象的 OID

classoid

oid

pg_class.oid

对象所在的系统目录的 OID

objsubid

int4

 

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

privtype

char

 

定义这个对象初始特权类型的代码,见文字说明

initprivs

aclitem[]

 

初始的访问特权

评论

登录后才可以发表评论
用户头像
levvel发表于 9个月前
来报个到
用户头像
GBase用户28017发表于 7个月前
学习
用户头像
levvel发表于 3个月前
太有道理了!
zixuwang发表于 2个月前
来了
青菇凉发表于 2个月前
来了