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 にはこのようなコマンドはありません。