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_USER | SESSION_USER } [, ...] ]
    [ USING ( using_expression ) ]
    [ WITH CHECK ( check_expression ) ]

Description

ALTER POLICY更改现有行级安全策略的定义。请注意,ALTER POLICY仅允许应用该策略的角色集以及USINGWITH CHECK表达式。要更改策略的其他属性,例如对其应用的命令或它是允许的还是限制性的,必须删除并重新创建该策略。

要使用ALTER POLICY,您必须拥有该策略适用的表。

在第二种形式ALTER POLICY中,如果已指定,则角色列表* using_expression check_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

CREATE POLICY, DROP POLICY