destroydb

Name

destroydb  --  既存の Postgres データベース を削除します。

Synopsis

destroydb [ dbname ]
destroydb [ -h host ] [ -p port ]
    [ -i ] [ dbname ]
  

入力

-h host

postmaster が動いているマシン のホスト名を指定します。デフォルトは IP 接続ではなく、 ローカル Unix ドメインソケットを使用します。

-p port

接続を postmaster が監視する インターネット TCP/IP ポート、またはローカル Unix ドメイン ソケットファイル拡張子を指定します。 デフォルトのポート番号は 5432 または、環境変数(もし設定 していれば)による番号です。

-i

対話モードになります。 データベースを削除する前に、確認を求められます。

dbname

削除するデータベースの名前を指定します。データベースは このインストレーションの Postgres の既存のデータベースのなかの一つでなければなりません。 デフォルトの dbname は USER の環境変数の値です。

出力

destroydb は、既存のデータベース のデータ領域 PGDATA/dbname/ からファイルを削除します。

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'? destroydb: database destroy failed on dbname.

destroydb は、指定したホストとポート の postmaster プロセスに接続できません。 このメッセージが表示された場合、postmaster が特定のホスト上で稼働していて、正しいポートが指定されているかどうか 確認して下さい。サイトが認証システムを使用している場合は、 必要な認証資格が交付されているかどうかの確認をして下さい。

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' destroydb: database destroy failed on dbname.

リレーション pg_shadow に有効な登録がなく、 Postgres にアクセスすることが許可 されていません。Postgres 管理者に 連絡を取って下さい。

ERROR: user 'username' is not allowed to create/destroy databases destroydb: database destroy failed on dbname.

データベースを削除(または作成)する権限がありません。 Postgres サイト管理者に 連絡を取って下さい。

ERROR: destroydb: database 'dbname' does not exist. destroydb: database destroy failed on dbname.

削除されるデータベースは pg_database クラスに登録されていません。

ERROR: destroydb: database 'dbname' is not owned by you. destroydb: database destroy failed on dbname.

指定されたデータベースのデータベース管理者 (DBA) ではありません。

destroydb: database destroy failed on dbname.

psql またはバックエンドサーバで 内部エラーが起こりました。サイト管理者が適切に Postgres をインストールし、その サイトを initdb で初期化したか どうか確認して下さい。

Note: destroydb の内部では、 template1 データベースに接続して、 psql から DROP DATABASE を実行します。

説明

destroydb は既存の Postgres データベースを削除します。 このコマンドを実行できるのは、データベース管理者、または DBA、それと Postgres のスーパユーザでなければなりません。このプログラムは沈黙して 実行され、確認のメッセージは表示されません。 データベースが削除された後、Unix のシェルプロンプトが再表示 されます。

データベースへの全ての参照は、このデータベースのある ディレクトリとその関連したファイルと一緒に削除されます。

destroydb は psql を呼び出すシェルスクリプト です。したがい、postmaster プロセスは destroydb が実行される 以前に、データベースサーバホストで稼働していなければなりません。 PGOPTION と PGREALM 環境変数は psql に渡され、 psql に記載され ているように処理されます。

使用法

ローカルホストのポート 5432 の postmaster を使用して いるデータベース demo を削除します:

    destroydb demo
   

ホスト eden のポート 5000 の postmaster を使用している データベース demo を削除します:

    destroydb -p 5000 -h eden demo