ALTER POLICY — 更改一条行级安全性策略的定义
ALTER POLICYname
ONtable_name
RENAME TOnew_name
ALTER POLICYname
ONtable_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扩展。