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.28.2で説明しています。
接続が残る場合、このコマンドは失敗します。
DROP DATABASE
はトランザクションブロックの内部では実行できません。
対象とするデータベースに接続している間は、このコマンドを実行することができません。 したがって、このコマンドのラッパーであるdropdbプログラムを使用する方がより便利かもしれません。
標準SQLにはDROP DATABASE
文はありません。