DROP DATABASE

Name

DROP DATABASE  --  既存のデータベースの削除

Synopsis

DROP DATABASE name
  

入力

name

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

出力

DROP DATABASE

コマンドの実行に成功した場合に返されるメッセージです。

ERROR: user 'username' is not allowed to create/drop databases

データベースを削除するためには、CREATEDB権限が必要です。 CREATE USER を参照して下さい。

ERROR: dropdb: cannot be executed on the template database

template1データベースを削除することはできません。 このデータベースはユーザ向けのものではありません。

ERROR: dropdb: cannot be executed on an open database

削除しようとするデータベースに接続はできません。 代わりに、template1やその他のデータ ベースに接続し、このコマンドを再実行してみて下さい。

ERROR: dropdb: database 'name' does not exist

指定したデータベースが存在しなかった場合に現れるメッセージです。

ERROR: dropdb: database 'name' is not owned by you

データベースの所有者である必要があります。 通常、所有者はデータベースを作成したユーザを意味します。

ERROR: dropdb: May not be called in a transaction block.

このコマンドを呼び出す前に、実行中のトランザクションを 完了させる必要があります。

NOTICE: The database directory 'xxx' could not be removed.

データベースは削除されましたが(他のエラーメッセージが出力されていない限り)、 データが保存されていたディレクトを削除することができなかったときに 表示されます。この場合、手動でこのディレクトリを削除する必要があります。

説明

DROP DATABASEは、カタログから既存のデータベースの 項目を削除し、データを保存していたディレクトリの削除を行ないます。 データベースの所有者(通常はデータベースの作成者)のみがこの コマンドを実行することができます。

注釈

対象とするデータベースに接続している場合、このコマンドを実行 することができません。したがって、このコマンドのラッパーである dropdbシェル スクリプトを使用する方が便利かもしれません。

データベースの作成方法に関する詳細は CREATE DATABASE を参照して下さい。

互換性

SQL92

DROP DATABASE文は Postgresの拡張です。 SQL92にはこのようなコマンドはありません。