34.56. usage_privileges

视图usage_privileges用于标识在各种类型的对象上赋与当前用户或者当前用户赋与的 USAGE权限。在 PostgreSQL中, 当前适用于排序规则、域、外部数据封装、外部服务器和序列。每个对象、授权者和受权者的组合都有一行。

因为在PostgreSQL里,排序规则并没有真正的权限, 所以这个视图显示了隐含的由PUBLIC的所有者授予所有排序规则的非可授予的 USAGE权限。其他的对象类型显示了真正的权限。

在PostgreSQL中,序列也支持SELECTUPDATE权限, 除了USAGE权限。这不是标准并且因此在信息模式中不可见。

表 34-54. usage_privileges 字段

名字数据类型描述
grantorsql_identifier授权的角色名
granteesql_identifier被授权的角色名
object_catalogsql_identifier包含该对象的数据库名(总是当前数据库)
object_schemasql_identifier如果适用,是包含该对象的模式名,否则是空字符串
object_namesql_identifier对象名
object_typecharacter_dataCOLLATIONDOMAINFOREIGN DATA WRAPPERFOREIGN SERVERSEQUENCE
privilege_typecharacter_data总是USAGE
is_grantableyes_or_no如果权限可授予则为YES,否则为NO