ALTER POLICY — 更改行级别安全策略的定义
ALTER POLICYnameONtable_nameRENAME TOnew_nameALTER POLICYnameONtable_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 表达式。要更改策略的其他属性,例如其适用的命令或它是 permissive 还是 restrictive,必须先删除策略再重新创建。
要使用 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 的一个扩展。