ALTER POLICY

Изменяет определение политики безопасности на уровне строк.

Синтаксис

ALTER POLICY <name> ON <table_name> RENAME TO <new_name>

ALTER POLICY <name ON table_name>
    [ TO { <role_name> | PUBLIC | CURRENT_USER | SESSION_USER } [, ...] ]
    [ USING ( <using_expression> ) ]
    [ WITH CHECK ( <check_expression> ) ]

Описание

ALTER POLICY изменяет определение существующей политики безопасности на уровне строк. Обратите внимание, что с помощью команды ALTER POLICY можно изменить только список ролей, к которым применяется политика, а также выражения USING и WITH CHECK. Чтобы изменить другие свойства политики, такие как команда, к которой она применяется, или её тип (разрешающая или ограничивающая), необходимо удалить политику и создать её заново.

Для использования команды ALTER POLICY вы должны быть владельцем таблицы, к которой применяется политика.

Во второй форме команды ALTER POLICY список ролей, выражение using_expression и выражение check_expression заменяются независимо при их указании. Если какой-либо из этих параметров опущен, соответствующая часть политики остаётся без изменений.

Параметры

name
Имя существующей политики, которую необходимо изменить.
table_name
Имя таблицы (при необходимости с указанием схемы), к которой применяется политика.
new_name
Новое имя политики.
role_name
Роль или роли, к которым применяется политика. Можно указать несколько ролей одновременно. Чтобы применить политику ко всем ролям, используйте ключевое слово PUBLIC.
using_expression
Выражение USING для политики. Подробности см. в разделе CREATE POLICY.
check_expression
Выражение WITH CHECK для политики. Подробности см. в разделе CREATE POLICY.

Совместимость

ALTER POLICY является расширением стандарта SQL, реализованным в базе данных.