历史版本。 PostgreSQL 12 已结束支持。 2024-11-21. 请参阅 当前版本手册.
ALTER POLICY
ALTER POLICY — 更改行级安全策略的定义
大纲
ALTER POLICYnameONtable_nameRENAME TOnew_nameALTER POLICYnameONtable_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 是 PostgreSQL 扩展。