PostgreSQL dropdb

2021-09-13 15:35 更新

dropdb — 移除一個PostgreSQL數(shù)據(jù)庫

大綱

dropdb [connection-option...] [option...] dbname

描述

dropdb毀掉一個現(xiàn)有的PostgreSQL數(shù)據(jù)庫。執(zhí)行這個命令的用戶必須是一個數(shù)據(jù)庫超級用戶或該數(shù)據(jù)庫的擁有者。

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

選項

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

dbname

指定要被移除的數(shù)據(jù)庫的名字。

-e
--echo

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

-f
--force

在刪除目標數(shù)據(jù)庫之前,嘗試終止與該數(shù)據(jù)庫的所有現(xiàn)有連接。有關(guān)此選項的 詳細信息,請參見DROP DATABASE。

-i
--interactive

在做任何破壞性的工作之前發(fā)出一個驗證提示。

-V
--version

打印dropdb版本并退出。

--if-exists

如果數(shù)據(jù)庫不存在也不拋出一個錯誤。在這種情況下會發(fā)出一個提醒。

-?
--help

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

dropdb也接受下列命令行參數(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ù)器要求口令認證并且沒有其他方式提供口令(例如一個.pgpass文件),那兒連接嘗試將失敗。這個選項對于批處理任務(wù)和腳本有用,因為在其中沒有一個用戶來輸入口令。

-W
--password

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

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

--maintenance-db=dbname

指定要連接到來發(fā)現(xiàn)哪些其他數(shù)據(jù)庫應(yīng)該被刪除的數(shù)據(jù)庫名。如果沒有指定,將使用postgres數(shù)據(jù)庫。而如果它也不存在,將使用template1。 這可以是連接字符串。 如果是這樣,連接字符串參數(shù)將覆蓋任何沖突的命令行選項。

環(huán)境

PGHOST
PGPORT
PGUSER

默認連接參數(shù)

PG_COLOR

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

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

診斷

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

例子

要在默認數(shù)據(jù)庫服務(wù)器上毀掉數(shù)據(jù)庫demo

$ dropdb demo

要使用在主機eden、端口 5000 上的服務(wù)器中毀掉數(shù)據(jù)庫demo,并帶有驗證和回顯,看看下面的命令:

$ dropdb -p 5000 -h eden -i -e demo
Database "demo" will be permanently deleted.
Are you sure? (y/n) y
DROP DATABASE demo;


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號