51.38. pg_policy #

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

Таблица 51.38. Столбцы pg_policy

Тип столбца

Описание

oid oid

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

polname name

Имя политики.

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

Таблица, к которой применяется политика

polcmd char

Тип команды, к которой применяется политика: r обозначает SELECT, aINSERT, wUPDATE, dDELETE, а * — все команды

polpermissive bool

Является ли политика разрешительной или ограничительной?

polroles oid[] (ссылается на pg_authid.oid)

Роли, к которым применяется политика; ноль для PUBLIC (как правило, будет единственным элементом массива)

polqual pg_node_tree

Дерево выражения, добавляемое к условиям барьера безопасности в запросы, использующие таблицу

polwithcheck pg_node_tree

Дерево выражения, добавляемое к условиям WITH CHECK в запросы, которые пытаются добавлять строки в таблицу


Примечание

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