50.17. pg_default_acl
В каталоге pg_default_acl
хранятся определения прав, изначально присваиваемые создаваемым объектам.
Таблица 50.17. Столбцы pg_default_acl
Имя | Тип | Ссылки | Описание |
---|---|---|---|
oid | oid | Идентификатор строки (скрытый атрибут; должен выбираться явно) | |
defaclrole | oid |
| OID роли, связанной с этой записью |
defaclnamespace | oid |
| OID пространства имён, связанного с этой записью, или 0, если запись глобальная |
defaclobjtype | char | Тип объекта, права для которого определяет эта запись: r = отношение (relation) (таблица, представление), S = последовательность (sequence), f = функция (function), T = тип (type) | |
defaclacl | aclitem[] | Права доступа, назначаемые объекту данного типа при создании |
В каталоге pg_default_acl
описываются начальные права доступа, которые будут связаны с объектом, принадлежащим заданному пользователю. В настоящее время есть два типа записей: «глобальные», с defaclnamespace
равным нулю, и «внутрисхемные», относящиеся к конкретной схеме. Если присутствует глобальная запись, она переопределяет обычный жёстко фиксированный набор прав для данного типа объектов. Если присутствует внутрисхемная запись, она представляет набор прав, добавляемый к набору прав, определённых глобально или жёстко заданных по умолчанию.
Заметьте, что когда поле ACL в другом каталоге содержит NULL, под этим подразумеваются жёстко заданные права по умолчанию для этого объекта, а не те, которые могут быть в pg_default_acl
в данный момент. Права в pg_default_acl
учитываются только при создании объекта.