On this page
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
仅允许应用该策略的角色集以及USING
和WITH 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 扩展。