pg_init_privs#

В каталоге pg_init_privs хранится информация о начальных привилегиях объектов в системе. Для каждого объекта в базе данных, имеющего начальный набор привилегий не по умолчанию (не NULL), существует одна запись.

Объекты могут иметь начальные привилегии либо путем установки этих привилегий при инициализации системы (с помощью initdb), либо когда объект создается в процессе CREATE EXTENSION и сценарий расширения устанавливает начальные привилегии с помощью системы GRANT. Обратите внимание, что система автоматически обрабатывает запись привилегий во время сценария расширения, и авторам расширений нужно только использовать операторы GRANT и REVOKE в своем сценарии, чтобы записать привилегии. Столбец privtype указывает, была ли начальная привилегия установлена initdb или во время команды CREATE EXTENSION.

Объекты с начальными привилегиями, установленными initdb, будут иметь записи с privtype „i“, а объекты с начальными привилегиями, установленными CREATE EXTENSION, будут иметь записи с privtype.

Столбец

Тип данных

Описание

objoid

oid ссылается на pg_class.oid

OID определенного объекта

classoid

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

OID системного каталога, в котором находится объект

objsubid

int4

Для столбца таблицы это номер столбца (objoid и classoid относятся к самой таблице). Для всех остальных типов объектов этот столбец равен нулю

privtype

char

Код, определяющий тип начальной привилегии этого объекта; см. текст

initprivs

aclitem[]

Начальные права доступа; подробности см. в Разделе 5.7