↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5
历史版本。 PostgreSQL 13 已结束支持。 2025-11-13. 请参阅 当前版本手册.

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 扩展。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.