支援的版本:目前版本 (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 運算式。若要變更原則的其他屬性,例如其適用的指令或它是寬鬆還是嚴格,則必須先捨棄原則再重新建立。

要使用 ALTER POLICY,您必須擁有該原則適用的資料表。

ALTER POLICY 的第二種形式中,角色列表、using_expressioncheck_expression 會在指定時獨立替換。 當省略其中一個子句時,原則的相應部分不會變更。

參數

name

要變更的現有原則名稱。

table_name

原則所在的資料表名稱(可選擇是否加上 schema 限定詞)。

new_name

原則的新名稱。

role_name

原則適用的角色。 一次可以指定多個角色。 若要將原則套用至所有角色,請使用 PUBLIC

using_expression

原則的 USING 運算式。 有關詳細資訊,請參閱 CREATE POLICY

check_expression

原則的 WITH CHECK 運算式。 有關詳細資訊,請參閱 CREATE POLICY

相容性

ALTER POLICYPostgreSQL 的擴充功能。

另請參閱

CREATE POLICYDROP POLICY

提交更正

如果您在文件中看到任何不正確、與您使用特定功能時的體驗不符或需要進一步澄清的內容,請使用此表單回報文件問題。