DROP DATABASE <refpurpose>remove a database</refpurpose> — データベースを削除する
DROP DATABASE [ IF EXISTS ]name
[ [ WITH ] (option
[, ...] ) ] <phrase>where <replaceable class="parameter">option</replaceable> can be:</phrase> ここでoption
は以下の通りです。 FORCE
<command>DROP DATABASE</command> drops a database. It removes the
catalog entries for the database and deletes the directory
containing the data. It can only be executed by the database owner.
It cannot be executed while you are connected to the target database.
(Connect to <literal>postgres</literal> or any other database to issue this
command.)
Also, if anyone else is connected to the target database, this command will
fail unless you use the <literal>FORCE</literal> option described below.
DROP DATABASE
は、データベースを削除します。
そのデータベースの項目をカタログから削除し、データを保存していたディレクトリを削除します。
データベースの所有者のみがこのコマンドを実行することができます。
対象とするデータベースに接続している時は実行できません。
(このコマンドを実行する時は、postgres
や他のデータベースに接続してください。)
また、他のユーザが対象とするデータベースに接続している時は、以下に書かれたFORCE
オプションを使わない限り、このコマンドは失敗します。
<command>DROP DATABASE</command> cannot be undone. Use it with care!
DROP DATABASE
は元に戻すことができません。
十分注意して使用してください。
IF EXISTS
Do not throw an error if the database does not exist. A notice is issued in this case. データベースが存在しない場合でもエラーになりません。 この場合注意メッセージが発行されます。
name
The name of the database to remove. 削除するデータベースの名前です。
FORCE
Attempt to terminate all existing connections to the target database. It doesn't terminate if prepared transactions, active logical replication slots or subscriptions are present in the target database. 対象とするデータベースへの既存の接続をすべて終了することを試みます。 対象とするデータベースにプリペアドトランザクション、実行中の論理レプリケーションスロット、サブスクリプションが存在する場合には終了しません。
not mentioning exception for autovacuum workers, since those are an implementation detail and the exception is not specific to FORCE
This terminates background worker connections and connections that the
current user has permission to terminate
with <function>pg_terminate_backend</function>, described in
<xref linkend="functions-admin-signal"/>. If connections would remain,
this command will fail.
これは、バックグラウンドワーカー接続と、現在のユーザがpg_terminate_backend
で終了する権限を持つ接続を終了します。これについては9.28.2で説明しています。
接続が残る場合、このコマンドは失敗します。
<command>DROP DATABASE</command> cannot be executed inside a transaction
block.
DROP DATABASE
はトランザクションブロックの内部では実行できません。
This command cannot be executed while connected to the target database. Thus, it might be more convenient to use the program <xref linkend="app-dropdb"/> instead, which is a wrapper around this command. 対象とするデータベースに接続している間は、このコマンドを実行することができません。 したがって、このコマンドのラッパーであるdropdbプログラムを使用する方がより便利かもしれません。
There is no <command>DROP DATABASE</command> statement in the SQL standard.
標準SQLにはDROP DATABASE
文はありません。