ALTER POLICY
ALTER POLICY#
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_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扩展。