dropdbは既存のPostgreSQLデータベースを削除します。 このコマンドを実行できるのは、データベースのスーパーユーザまたはデータベースの所有者のみです。
dropdbは、DROP DATABASE SQLコマンドのラッパです。 このユーティリティを使用しても、これ以外の方法でサーバにアクセスして削除しても、特に違いはありません。
dropdbは、下記のコマンドライン引数を受け付けます。
削除するデータベース名を指定します。
dropdbが生成し、サーバに送信するコマンドをエコー表示します。
削除を行う前に、確認のためのプロンプトを表示します。
dropdbのバージョンを表示し、終了します。
指定したデータベースが存在しない場合でもエラーとしません。 この場合には注意が発生します。
dropdbのコマンドライン引数の使用方法を表示し、終了します。
またdropdbは、以下のコマンドライン引数を接続パラメータとして受け付けます。
サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。
サーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。
接続するユーザ名を指定します。
パスワードの入力を促しません。 サーバがパスワード認証を必要とし、かつ、.pgpassファイルなどの他の方法が利用できない場合、接続試行は失敗します。 バッチジョブやパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。
データベースに接続する前に、dropdbは強制的にパスワード入力を促します。
サーバがパスワード認証を要求する場合dropdbは自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、dropdbは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために-Wの入力が有意となる場合もあります。
対象データベースを削除するために接続するデータベースの名前を指定します。 指定されない場合は、postgresデータベースが使用されます。 このデータベースが存在しない場合(またはこのデータベースが削除対象のデータベースである場合)template1が使用されます。
デフォルトの接続パラメータです。
また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(項31.14を参照してください)。
問題が発生した場合、考えられる原因とエラーメッセージについてはDROP DATABASEとpsqlを参照してください。 対象ホストでデータベースサーバが稼働していなければなりません。 また、libpqのフロントエンドライブラリの、あらゆるデフォルトの設定や環境変数が適用されることを覚えておいてください。