dropuser

dropuser — 移除 PostgreSQL 使用者帳戶

語法

dropuser [connection-option…] [option…] [username]

說明

dropuser 移除現有的 PostgreSQL 使用者。只有具有 CREATEROLE 權限的超級使用者或一般使用者才能移除 PostgreSQL 使用者。(但要移除超級使用者,您還必須自己是超級使用者。)

dropuser 是 SQL 指令 DROP ROLE 的一個封裝。透過此實用工具和透過存取伺服器的其他方法移除使用者,之間沒有區別。

參數

dropuser 接受以下的命令列參數:

username

指定要移除的 PostgreSQL 使用者的名稱。如果在命令列中沒有指定名稱,則會提示您輸入名稱,如同使用 -i / -interactive。

-e
--echo

顯示 dropuser 發送到伺服器的指令。

-i
--interactive

在實際移除使用者之前提示確認,如果沒有在命令列中指定使用者名稱,會提示輸入。

-V
--version

輸出 dropuser 版本然後退出。

--if-exists

如果使用者不存在,請不要拋出錯誤。在這種情況下發布 NOTICE。

-?
--help

顯示有關 dropuser 命令列參數的說明,然後退出。

dropuser 還接受連線有關的以下命令列參數:

-h host
--host=host

指定運行伺服器的主機名。如果以斜線開頭,則將其視為 Unix domain socket 的目錄。

-p port
--port=port

指定伺服器正在監聽連線的 TCP 連接埠或本地 Unix domain socket 檔案延伸名稱。

-U username
--username=username

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

-w
--no-password

避免發出密碼提示。如果伺服器需要密碼驗證,請透過其他方式(如 .pgpass 檔案),無法使用密碼的話,則連線嘗試將會失敗。此選項可用於沒有使用者輸入密碼的批次處理作業和腳本。

-W
--password

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

此選項從來不是必須的,因為如果伺服器需要密碼認證,dropuser 將自動提示輸入密碼。然而,dropuser 會浪費連線嘗試發現伺服器想要密碼。在某些情況下,值得輸入 -W 以避免額外的連線嘗試。

環境變數

PGHOST
PGPORT
PGUSER

預設連線參數

與其他大多數 PostgreSQL 實用工具一樣,此工具也使用 libpq 支援的環境變數(請參閱第 33.14 節)。

診斷

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

範例

要從預設資料庫伺服器中移除使用者 joe:

  1. $ dropuser joe

使用主機 eden 的連接埠 5000 上的服務移除使用者 joe,驗證並查看基礎指令:

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

參閱

createuser, DROP ROLE