他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

DROP DATABASE

DROP DATABASE — データベースを削除する

概要

DROP DATABASE [ IF EXISTS ] name [ [ WITH ] ( option [, ...] ) ]


ここでoptionは以下の通りです。

    FORCE

説明

DROP DATABASEは、データベースを削除します。 そのデータベースの項目をカタログから削除し、データを保存していたディレクトリを削除します。 データベースの所有者のみがこのコマンドを実行することができます。 対象とするデータベースに接続している時は実行できません (このコマンドを実行する時は、postgresや他のデータベースに接続してください)。 また、他のユーザが対象とするデータベースに接続している時は、以下に書かれたFORCEオプションを使わない限り、このコマンドは失敗します。

DROP DATABASEは元に戻すことができません。 十分注意して使用してください。

パラメータ

IF EXISTS

データベースが存在しない場合でもエラーになりません。 この場合注意メッセージが発行されます。

name

削除するデータベースの名前です。

FORCE

対象とするデータベースへの既存の接続をすべて終了することを試みます。 対象とするデータベースにプリペアドトランザクション、実行中の論理レプリケーションスロット、サブスクリプションが存在する場合には終了しません。

これは、現在のユーザに他の接続を終了する権限がない場合には失敗します。 要求される権限は、9.27.2に書かれているpg_terminate_backendと同じです。 これは接続を終了できない場合も失敗します。

注釈

DROP DATABASEはトランザクションブロックの内部では実行できません。

対象とするデータベースに接続している間は、このコマンドを実行することができません。 したがって、このコマンドのラッパーであるdropdbプログラムを使用する方がより便利かもしれません。

互換性

標準SQLにはDROP DATABASE文はありません。

関連項目

CREATE DATABASE