Postgresql 中文操作指南

37.59. usage_privileges #

视图 usage_privileges 识别 USAGE 权限,这些权限已授予当前启用的角色,或由当前启用的角色授予不同类型的对象。在 PostgreSQL 中,这当前适用于校对、域、外部数据封装器、外部服务器和序列。每个对象、授予者和授予用户的组合有一行。

The view usage_privileges identifies USAGE privileges granted on various kinds of objects to a currently enabled role or by a currently enabled role. In PostgreSQL, this currently applies to collations, domains, foreign-data wrappers, foreign servers, and sequences. There is one row for each combination of object, grantor, and grantee.

由于校对在 PostgreSQL 中没有实际的权限,因此此视图显示了所有者隐式授予 USAGE PUBLIC 的不可授予的权限。但是,其他对象类型显示了实际的权限。

Since collations do not have real privileges in PostgreSQL, this view shows implicit non-grantable USAGE privileges granted by the owner to PUBLIC for all collations. The other object types, however, show real privileges.

在 PostgreSQL 中,序列除了 USAGE 权限外,还支持权限 SELECTUPDATE。它们不是标准的,因此在信息模式中不可见。

In PostgreSQL, sequences also support SELECT and UPDATE privileges in addition to the USAGE privilege. These are nonstandard and therefore not visible in the information schema.

Table 37.57. usage_privileges Columns

Table 37.57. usage_privileges Columns

Column Type

Description

grantor sql_identifier

Name of the role that granted the privilege

grantee sql_identifier

Name of the role that the privilege was granted to

object_catalog sql_identifier

Name of the database containing the object (always the current database)

object_schema sql_identifier

Name of the schema containing the object, if applicable, else an empty string

object_name sql_identifier

Name of the object

object_type character_data

COLLATION or DOMAIN or FOREIGN DATA WRAPPER or FOREIGN SERVER or SEQUENCE

privilege_type character_data

Always USAGE

is_grantable yes_or_no

YES if the privilege is grantable, NO if not