53.17. pg_default_acl

В каталоге pg_default_acl хранятся определения прав, изначально присваиваемые создаваемым объектам.

Таблица 53.17. Столбцы pg_default_acl

Тип столбца

Описание

oid oid

Идентификатор строки

defaclrole oid (ссылается на pg_authid.oid)

OID роли, связанной с этой записью

defaclnamespace oid (ссылается на pg_namespace.oid)

OID пространства имён, связанного с этой записью, или ноль, если запись глобальная

defaclobjtype char

Тип объекта, права для которого определяет эта запись: r = отношение (relation) (таблица, представление), S = последовательность (sequence), f = функция (function), T = тип (type), n = схема (schema)

defaclacl aclitem[]

Права доступа, назначаемые объекту данного типа при создании


В каталоге pg_default_acl описываются начальные права доступа, которые будут связаны с объектом, принадлежащим заданному пользователю. В настоящее время есть два типа записей: «глобальные», с defaclnamespace = ноль, и «внутрисхемные», относящиеся к конкретной схеме. Если присутствует глобальная запись, она переопределяет обычный жёстко фиксированный набор прав для данного типа объектов. Если присутствует внутрисхемная запись, она представляет набор прав, добавляемый к набору прав, определённых глобально или жёстко заданных по умолчанию.

Заметьте, что когда поле ACL в другом каталоге содержит NULL, под этим подразумеваются жёстко заданные права по умолчанию для этого объекта, а не те, которые могут быть в pg_default_acl в данный момент. Права в pg_default_acl учитываются только при создании объекта.

53.17. pg_default_acl

The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.

Table 53.17. pg_default_acl Columns

Column Type

Description

oid oid

Row identifier

defaclrole oid (references pg_authid.oid)

The OID of the role associated with this entry

defaclnamespace oid (references pg_namespace.oid)

The OID of the namespace associated with this entry, or zero if none

defaclobjtype char

Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema

defaclacl aclitem[]

Access privileges that this type of object should have on creation


A pg_default_acl entry shows the initial privileges to be assigned to an object belonging to the indicated user. There are currently two types of entry: global entries with defaclnamespace = zero, and per-schema entries that reference a particular schema. If a global entry is present then it overrides the normal hard-wired default privileges for the object type. A per-schema entry, if present, represents privileges to be added to the global or hard-wired default privileges.

Note that when an ACL entry in another catalog is null, it is taken to represent the hard-wired default privileges for its object, not whatever might be in pg_default_acl at the moment. pg_default_acl is only consulted during object creation.

FAQ