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

DROP ROLE

DROP ROLE — 刪除資料庫角色

概要

DROP ROLE [ IF EXISTS ] name [, ...]

描述

DROP ROLE 刪除指定的一個或多個角色。要刪除超級使用者角色,您自己必須是超級使用者;要刪除非超級使用者角色,您必須擁有 CREATEROLE 許可權,並且已獲得該角色的 ADMIN OPTION

如果角色仍然被叢集中的任何資料庫引用,則無法刪除該角色;如果發生這種情況,則會引發錯誤。在刪除角色之前,您必須刪除它擁有的所有物件(或重新分配其所有權),並撤銷該角色已被授予的其他物件的任何許可權。 REASSIGN OWNEDDROP OWNED 命令對此很有用;有關更多討論,請參閱 第 21.4 節

但是,沒有必要刪除涉及該角色的角色成員關係; DROP ROLE 會自動撤銷該目標角色在其他角色中的任何成員關係,以及其他角色在目標角色中的任何成員關係。其他角色不會被刪除,也不會受到其他影響。

引數

IF EXISTS

如果角色不存在,則不引發錯誤。在這種情況下會發出通知。

name

要刪除的角色名稱。

註釋

PostgreSQL 包含一個名為 dropuser 的程式,它具有與此命令相同的功能(實際上,它呼叫此命令),但可以在命令列外執行。

示例

刪除一個角色

DROP ROLE jonathan;

相容性

SQL 標準定義了 DROP ROLE,但它只允許一次刪除一個角色,並且它指定的許可權要求與 PostgreSQL 使用的不同。

提交更正

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