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 の既存のデータベースのなかの一つでなければなりません。 デフォルトの dbnameUSER の環境変数の値です。

出力

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 のシェルプロンプトが再表示 されます。

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

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

使用法

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

    destroydb demo
   

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

    destroydb -p 5000 -h eden demo