39.55. usage_privileges

Представление usage_privileges описывает права USAGE для различных типов объектов, предоставленные роли или ролью, активной в данный момент. В Postgres Pro на данный момент это правила сортировки, домены, обёртки сторонних данных, сторонние серверы и последовательности. Оно содержит отдельную строку для каждой комбинации объекта, праводателя и правообладателя.

Так как с правилами сортировки в Postgres Pro не связаны никакие действующие права, в этом представлении показываются фиктивные права USAGE, якобы назначенные владельцем базы роли PUBLIC для всех правил сортировки. Для других типов объектов, однако, в нём показываются фактические права.

В Postgres Pro для последовательностей могут назначаться права SELECT и UPDATE, в дополнение к USAGE. Но это нестандартные права и поэтому в информационной схеме они не видны.

Таблица 39.53. Столбцы usage_privileges

Тип столбца

Описание

grantor sql_identifier

Имя роли, давшей право (праводатель)

grantee sql_identifier

Имя роли, которой было дано право (правообладатель)

object_catalog sql_identifier

Имя базы данных, содержащей объект (всегда текущая база)

object_schema sql_identifier

Имя схемы, содержащей объект, если это применимо, иначе пустая строка

object_name sql_identifier

Имя объекта

object_type character_data

COLLATION или DOMAIN или FOREIGN DATA WRAPPER или FOREIGN SERVER или SEQUENCE

privilege_type character_data

Всегда USAGE

is_grantable yes_or_no

YES, если право может передаваться, или NO в противном случае


39.55. usage_privileges

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 Postgres Pro, 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.

Since collations do not have real privileges in Postgres Pro, 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.

In Postgres Pro, 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 39.53. 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


FAQ