36.57. usage_privileges

视图usage_privileges标识所有在多种对象上授予的USAGE特权,这些特权的授予者或者被授予者是一个当前已被启用的角色。在PostgreSQL中,这当前适用于排序规则、域、外部数据包装器、外部服务器和序列。对每一个对象、授予者和被授予者都有一行。

由于在PostgreSQL中排序规则并没有真正的特权,这个视图对所有排序规则显示由拥有者授予给PUBLIC的隐式非可授予的USAGE特权。但是对其他对象类型则显示真实的特权。

在 PostgreSQL 中,序列也支持除USAGE之外的SELECTUPDATE特权。这些是非标准的并且因此在该信息模式中不可见。

表 36.55. 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