★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 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

dropdb

dropdbPostgreSQLデータベースを削除する

概要

dropdb [connection-option...] [option...] dbname

説明

dropdbは既存のPostgreSQLデータベースを削除します。 このコマンドを実行できるのは、データベースのスーパーユーザまたはデータベースの所有者のみです。

dropdbは、SQLコマンドDROP DATABASEのラッパです。 このユーティリティを使用しても、これ以外の方法でサーバにアクセスして削除しても、特に違いはありません。

オプション

dropdbは、下記のコマンドライン引数を受け付けます。

dbname

削除するデータベース名を指定します。

-e
--echo

dropdbが生成し、サーバに送信するコマンドをエコー表示します。

-f
--force

削除の前に対象データベースへの既存の接続をすべて終了することを試みます。 このオプションに関する詳細な情報はDROP DATABASEを参照してください。

-i
--interactive

削除を行う前に、確認のためのプロンプトを表示します。

-V
--version

dropdbのバージョンを表示し、終了します。

--if-exists

指定したデータベースが存在しない場合でもエラーとしません。 この場合には注意が発生します。

-?
--help

dropdbのコマンドライン引数の使用方法を表示し、終了します。

またdropdbは、以下のコマンドライン引数を接続パラメータとして受け付けます。

-h host
--host=host

サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。

-p port
--port=port

サーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。

-U username
--username=username

接続するユーザ名を指定します。

-w
--no-password

パスワードの入力を促しません。 サーバがパスワード認証を必要とし、かつ、.pgpassファイルなどの他の方法が利用できない場合、接続試行は失敗します。 バッチジョブやスクリプトなどパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。

-W
--password

データベースに接続する前に、dropdbは強制的にパスワード入力を促します。

サーバがパスワード認証を要求する場合dropdbは自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、dropdbは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために-Wの入力が有意となる場合もあります。

--maintenance-db=dbname

対象データベースを削除するために接続するデータベースの名前を指定します。 指定されない場合は、postgresデータベースが使用されます。 このデータベースが存在しない場合(またはこのデータベースが削除中である場合)template1が使用されます。 これは接続文字列でも構いません。 その場合、接続文字列パラメータは衝突するコマンドラインオプションよりも優先します。

環境

PGHOST
PGPORT
PGUSER

デフォルトの接続パラメータです。

PG_COLOR

診断メッセージで色を使うかどうかを指定します。 可能な値はalwaysautoneverです。

また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(34.15を参照してください)。

診断

問題が発生した場合、考えられる原因とエラーメッセージについてはDROP DATABASEpsqlを参照してください。 対象ホストでデータベースサーバが稼働していなければなりません。 また、libpqのフロントエンドライブラリの、あらゆるデフォルトの設定や環境変数が適用されます。

次のコマンドは、デフォルトのデータベースサーバ上のdemoデータベースを削除します。

$ dropdb demo

次のコマンドはホストedenのポート番号5000で動作しているサーバからデータベースdemoを削除します。 その際、削除を確認し、またバックエンドに送られるコマンドを表示します。

$ dropdb -p 5000 -h eden -i -e demo
Database "demo" will be permanently deleted.
Are you sure? (y/n) y
DROP DATABASE demo;

関連項目

createdb, DROP DATABASE