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

REASSIGN OWNED

REASSIGN OWNED — 更改資料庫角色擁有的資料庫物件的歸屬

概要

REASSIGN OWNED BY { old_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]
               TO { new_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER }

描述

REASSIGN OWNED 指示系統更改由 old_roles 中的任何角色擁有的資料庫物件的歸屬,將其更改為 new_role

引數

old_role

一個角色的名稱。在此資料庫中,由該角色擁有的所有物件,以及所有共享物件(資料庫、表空間)的歸屬都將被重新分配給 new_role

new_role

將成為受影響物件的新所有者的角色的名稱。

註釋

REASSIGN OWNED 通常用於為刪除一個或多個角色做準備。由於 REASSIGN OWNED 不會影響其他資料庫中的物件,因此通常需要在包含要刪除的角色擁有的物件的每個資料庫中執行此命令。

REASSIGN OWNED 要求同時擁有源角色和目標角色的成員身份。

替代命令 DROP OWNED 只是刪除由一個或多個角色擁有的所有資料庫物件。

REASSIGN OWNED 命令不會影響授予 old_roles 的、對其不擁有的物件上的任何許可權。同樣,它也不會影響使用 ALTER DEFAULT PRIVILEGES 建立的預設許可權。請使用 DROP OWNED 來撤銷此類許可權。

有關更多討論,請參閱 第 21.4 節

相容性

REASSIGN OWNED 命令是 PostgreSQL 的擴充套件。

提交更正

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