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

ALTER POLICY

примечание

Эта страница переведена при помощи нейросети GigaChat.

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

Синтаксис

ALTER POLICY name ON table_name RENAME TO new_name

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

Описание

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

Чтобы выполнить эту команду, необходимо быть владельцем таблицы, к которой относится политика.

Во втором варианте синтаксиса ALTER POLICY допускается независимое указание списка ролей, выражений USING и WITH CHECK. Если какое-либо из этих выражений не указано, соответствующий элемент политики сохраняется без изменений.

Параметры

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

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

ALTER POLICY является расширением PostgreSQL.

Смотрите также

CREATE POLICY, DROP POLICY