PostgreSQL dropuser

2021-09-13 15:37 更新

dropuser — 移除一個PostgreSQL用戶賬戶

大綱

dropuser [connection-option...] [option...] [username]

描述

dropuser移除一個已有的PostgreSQL用戶。只有超級用戶以及具有CREATEROLE特權(quán)的用戶能夠移除PostgreSQL用戶(要移除一個超級用戶,你必須自己是一個超級用戶)。

dropuserSQL命令DROP ROLE的一個包裝器。在通過這個工具和其他方法訪問服務(wù)器來刪除用戶之間沒有實質(zhì)性的區(qū)別。

選項

dropuser接受下列命令行參數(shù):

username

指定要移除的PostgreSQL用戶的名字。如果沒有在命令行指定并且使用了-i/--interactive選項,你將被提醒要求一個用戶名。

-e
--echo

回顯dropuser生成并發(fā)送給服務(wù)器的命令。

-i
--interactive

在實際移除該用戶之前提示要求確認(rèn),并且在沒有在命令行指定用戶名提示要求一個用戶名。

-V
--version

打印dropuser版本并退出。

--if-exists

如果用戶不存在時不要拋出一個錯誤。在這種情況下將發(fā)出一個提示。

-?
--help

顯示有關(guān)dropuser命令行參數(shù)的幫助并退出。

dropuser也接受下列命令行參數(shù)作為連接參數(shù):

-h host
--host=host

指定運行服務(wù)器的機器的主機名。如果該值以一個斜線開始,它被用作 Unix 域套接字的目錄。

-p port
--port=port

指定服務(wù)器正在監(jiān)聽連接的 TCP 端口或本地 Unix 域套接字文件擴展。

-U username
--username=username

要作為哪個用戶連接(不是要移除的用戶名)。

-w
--no-password

從不發(fā)出一個口令提示。如果服務(wù)器要求口令認(rèn)證并且沒有其他方式提供口令(例如一個.pgpass文件),那兒連接嘗試將失敗。這個選項對于批處理任務(wù)和腳本有用,因為在其中沒有一個用戶來輸入口令。

-W
--password

強制dropuser在連接到一個數(shù)據(jù)庫之前提示要求一個口令。

這個選項不是必不可少的,因為如果服務(wù)器要求口令認(rèn)證,dropuser將自動提示要求一個口令。但是,dropuser將浪費一次連接嘗試來發(fā)現(xiàn)服務(wù)器想要一個口令。在某些情況下值得用-W來避免額外的連接嘗試。

環(huán)境

PGHOST
PGPORT
PGUSER

默認(rèn)連接參數(shù)

PG_COLOR

規(guī)定在診斷消息中是否使用顏色??赡艿闹禐?code class="literal">always、 auto、never。

和大部分其他PostgreSQL工具相似,這個工具也使用libpq(見第 33.14 節(jié))支持的環(huán)境變量。

診斷

在有困難時,可以在DROP ROLEpsql中找潛在問題和錯誤消息的討論。數(shù)據(jù)庫服務(wù)器必須運行在目標(biāo)主機上。同樣,任何 libpq前端庫使用的默認(rèn)連接設(shè)置和環(huán)境變量都將適用于此。

例子

要從默認(rèn)數(shù)據(jù)庫服務(wù)器移除用戶joe

$ dropuser joe

要使用在主機eden、端口 5000 上的服務(wù)器移除用戶joe,并帶有驗證和回顯,可使用下面的命令:

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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號