Postgresql 中文操作指南

ALTER POLICY

ALTER POLICY — 更改行级安全策略的定义

Synopsis

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 ) ]

Description

ALTER POLICY 更改一个现有行级安全策略的定义。请注意, ALTER POLICY 只允许修改策略适用的角色集以及 USINGWITH CHECK 表达式。如要更改策略的其他属性(例如适用的命令,或者它是否为宽容的或限制的),则必须删除并重新创建该策略。

如要使用 ALTER POLICY ,你必须拥有应用该策略的表的拥有权。

ALTER POLICY 的第二种形式中,角色列表 using_expressioncheck_expression 在指定时会分别进行替换。当省略其中一个子句时,对应部分的策略保持不变。

Parameters

  • name

    • 一个要更改的现有策略的名称。

  • table_name

    • 策略所在表的名称(可选择模式限定)。

  • new_name

    • 策略的新名称。

  • role_name

    • 策略适用的角色。可同时指定多个角色。如要将策略应用到所有角色,请使用 PUBLIC

  • using_expression

    • 策略的 USING 表达式。有关详细信息,请参见 CREATE POLICY

  • check_expression

    • 策略的 WITH CHECK 表达式。有关详细信息,请参见 CREATE POLICY

Compatibility

ALTER POLICY 是一个 PostgreSQL 扩展。

See Also