Redrock Postgres 搜索 英文
版本: 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

ALTER POLICY

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 更改现有行级别安全策略的定义。请注意,ALTER POLICY 只允许修改策略适用的角色集以及 USINGWITH CHECK 表达式。要更改策略的其他属性(如其适用的命令或它是允许还是限制),则必须删除该策略并重新创建。

要使用 ALTER POLICY,您必须拥有策略适用的表的权限。

ALTER POLICY 的第二种形式中,角色列表、using_expressioncheck_expression 将分别替换为指定的内容。当这些子句中有一个被省略时,策略的对应部分保持不变。

参数

name

要更改的现有策略的名称。

table_name

策略所在表的名称(可以基于模式的限定)。

new_name

策略的新名称。

role_name

适用于策略的角色。可以一次指定多个角色。要将策略应用于所有角色,请使用 PUBLIC

using_expression

策略的 USING 表达式。有关详细信息,请参见 CREATE POLICY

check_expression

WITH CHECK 表达式用于策略。有关详细信息,请参见 CREATE POLICY

兼容性

ALTER POLICY 是一个 PostgreSQL 扩展。

另请参见

CREATE POLICYDROP POLICY