DROP DATABASE — データベースを削除する
DROP DATABASE [ IF EXISTS ]name[ [ WITH ] (option[, ...] ) ] ここでoptionは以下の通りです。 FORCE
DROP DATABASEは、データベースを削除します。
そのデータベースの項目をカタログから削除し、データを保存していたディレクトリを削除します。
データベースの所有者のみがこのコマンドを実行することができます。
対象とするデータベースに接続している時は実行できません
(このコマンドを実行する時は、postgresや他のデータベースに接続してください)。
また、他のユーザが対象とするデータベースに接続している時は、以下に書かれたFORCEオプションを使わない限り、このコマンドは失敗します。
DROP DATABASEは元に戻すことができません。
十分注意して使用してください。
IF EXISTSデータベースが存在しない場合でもエラーになりません。 この場合注意メッセージが発行されます。
name削除するデータベースの名前です。
FORCE対象とするデータベースへの既存の接続をすべて終了することを試みます。 対象とするデータベースにプリペアドトランザクション、実行中の論理レプリケーションスロット、サブスクリプションが存在する場合には終了しません。
これは、バックグラウンドワーカー接続と、現在のユーザがpg_terminate_backendで終了する権限を持つ接続を終了します。これについては9.27.2で説明しています。
接続が残る場合、このコマンドは失敗します。
DROP DATABASEはトランザクションブロックの内部では実行できません。
対象とするデータベースに接続している間は、このコマンドを実行することができません。 したがって、このコマンドのラッパーであるdropdbプログラムを使用する方がより便利かもしれません。
標準SQLにはDROP DATABASE文はありません。