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 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

dropuser

dropuser — 刪除一個 PostgreSQL 使用者賬戶

概要

dropuser [連線選項...] [選項...] [使用者名稱]

描述

dropuser 刪除一個現有的 PostgreSQL 使用者。超級使用者可以使用此命令刪除任何角色;否則,只能刪除非超級使用者角色,並且只能由擁有 CREATEROLE 許可權並被授予目標角色 ADMIN OPTION 的使用者刪除。

dropuser 是一個包裝了SQL命令 DROP ROLE 的工具。透過此工具或透過其他方法訪問伺服器來刪除使用者之間沒有實際區別。

選項

dropuser 接受以下命令列引數

使用者名稱

指定要刪除的 PostgreSQL 使用者的名稱。如果未在命令列上指定名稱,並且使用了 -i/--interactive 選項,系統將提示您輸入名稱。

-e
--echo

顯示 dropuser 生成併發送到伺服器的命令。

-i
--interactive

在實際刪除使用者之前提示進行確認,並且如果未在命令列上指定使用者名稱,則提示輸入使用者名稱。

-V
--version

列印 dropuser 的版本並退出。

--if-exists

如果使用者不存在,則不丟擲錯誤。在這種情況下會發出通知。

-?
--help

顯示關於 dropuser 命令列引數的幫助,然後退出。

dropuser 還接受以下用於連線引數的命令列引數

-h 主機
--host=主機

指定伺服器執行所在計算機的主機名。如果值以斜槓開頭,則用作 Unix 域套接字目錄。

-p
--port=

指定伺服器正在監聽連線的 TCP 埠或本地 Unix 域套接字副檔名。

-U 使用者名稱
--username=使用者名稱

用於連線的使用者名稱(不是要刪除的使用者名稱)。

-w
--no-password

絕不發出密碼提示。如果伺服器需要密碼身份驗證且密碼不可用(例如透過 .pgpass 檔案),則連線嘗試將失敗。此選項在沒有使用者在場輸入密碼的批處理作業和指令碼中很有用。

-W
--password

強制 dropuser 在連線到資料庫之前提示輸入密碼。

此選項永遠不是必需的,因為如果伺服器要求密碼認證,dropuser 會自動提示輸入密碼。但是,dropuser 會浪費一次連線嘗試來找出伺服器需要密碼。在某些情況下,鍵入 -W 來避免額外的連線嘗試是值得的。

環境變數

PGHOST
PGPORT
PGUSER

預設連線引數

PG_COLOR

指定是否在診斷訊息中使用顏色。可能的值為 alwaysautonever

此實用程式以及大多數其他 PostgreSQL 實用程式也使用 libpq 支援的環境變數(請參閱 第 32.15 節)。

診斷

如果遇到困難,請參閱 DROP ROLEpsql 以獲取關於潛在問題和錯誤訊息的討論。資料庫伺服器必須在目標主機上執行。此外,libpq 前端庫使用的任何預設連線設定和環境變數都將適用。

示例

從預設資料庫伺服器中刪除使用者 joe

$ dropuser joe

使用主機 eden、埠 5000 上的伺服器刪除使用者 joe,並進行驗證和檢視底層命令

$ dropuser -p 5000 -h eden -i -e joe
Role "joe" will be permanently removed.
Are you sure? (y/n) y
DROP ROLE joe;

另請參閱

createuser, DROP ROLE

提交更正

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