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'
的条目。
表 52.28. pg_init_privs
列
Name | Type | References | Description |
---|---|---|---|
objoid |
oid |
任何 OID 列 | 特定对象的 OID |
classoid |
oid |
pg_class.oid |
对象所在的系统目录的 OID |
objsubid |
int4 |
对于表列,这是列号(objoid 和classoid 表示表本身)。对于所有其他对象类型,此列为零。 |
|
privtype |
char |
定义此对象的初始特权类型的代码;看到 Literals | |
initprivs |
aclitem[] |
初始访问权限;有关详情,请参见GRANT和REVOKE |