Перейти к основному содержимому

pg_init_privs

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

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

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

СтолбецТип данныхОписание
objoidoid ссылается на pg_class.oidOID определенного объекта
classoidoid ссылается на (pg_class.oid)OID системного каталога, в котором находится объект
objsubidint4Для столбца таблицы это номер столбца (objoid и classoid относятся к самой таблице). Для всех остальных типов объектов этот столбец равен нулю
privtypecharКод, определяющий тип начальной привилегии этого объекта; см. текст
initprivsaclitem[]Начальные права доступа; подробности см. в Разделе 5.7