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

pg_policy

В каталоге pg_policy хранятся политики безопасности на уровне строк для таблиц. Политика определяет тип команд, к которым она применима (например, ко всем командам), роли, подпадающие под ее действие, а также выражения, добавляемые в запросы:

  • в виде квалификационного условия безопасности при обращении к таблице;
  • в виде опции WITH CHECK для запросов, которые пытаются добавлять новые записи в таблицу.
СтолбецТип данныхОписание
oidoidИдентификатор строки
polnamenameИмя политики
polrelidoid (ссылается на pg_class.oid)Таблица, к которой применяется политика
polcmdcharТип команды, к которой применяется политика: r для SELECT, a для INSERT, w для UPDATE, d для DELETE или * для всех
polpermissiveboolЯвляется ли политика разрешительной или ограничительной?
polrolesoid[] (ссылается на pg_authid.oid)Роли, к которым применяется политика; ноль означает PUBLIC (и обычно появляется один в массиве)
polqualpg_node_treeДерево выражений, которое должно быть добавлено к квалификациям барьера безопасности для запросов, использующих таблицу
polwithcheckpg_node_treeДерево выражений, которое нужно добавить к квалификациям WITH CHECK для запросов, которые пытаются добавить строки в таблицу

Примечание

Политики, хранящиеся в pg_policy, применяются только тогда, когда для их таблицы установлен pg_class.relrowsecurity