登录
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
仅允许修改策略适用的角色集以及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
是PostgreSQL扩展。