2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5

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

描述

ALTER POLICY 更改現有行級別安全策略的定義。請注意,ALTER POLICY 僅允許修改策略適用的角色集以及 USINGWITH CHECK 表示式。要更改策略的其他屬性,例如其適用的命令或它是 permissive 還是 restrictive,必須先刪除策略再重新建立。

要使用 ALTER POLICY,您必須擁有策略適用的表。

ALTER POLICY 的第二種形式中,如果指定了角色列表、using_expressioncheck_expression,它們將分別被替換。當省略其中一個子句時,策略的相應部分保持不變。

引數

name

要更改的現有策略的名稱。

table_name

策略所屬表的名稱(可選擇是否包含模式限定)。

new_name

策略的新名稱。

role_name

策略適用的角色。一次可以指定多個角色。要將策略應用於所有角色,請使用 PUBLIC

using_expression

策略的 USING 表示式。有關詳細資訊,請參閱 CREATE POLICY

check_expression

策略的 WITH CHECK 表示式。有關詳細資訊,請參閱 CREATE POLICY

相容性

ALTER POLICYPostgreSQL 的一個擴充套件。

另請參閱

CREATE POLICY, DROP POLICY

提交更正

如果您在文件中發現任何不正確的內容、與您對特定功能的體驗不符的內容,或者需要進一步澄清的內容,請使用此表格報告文件問題。