DESTROYDB UNIX 11/05/95 日本語PostgreSQL 日本語PostgreSQL

名称

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

形式

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

説明

destroydbは既存のデータベースを削除します。このコマンドを実行するには、そのユーザはデータベース管理者、あるいはこのデータベースの DBA でなくてはなりません。プログラムは静かに実行します。つまり、何の確認メッセージも表示されません。データベースが削除された後には、Unix のシェルプロンプトが戻ります。

destroydbpsqlを呼び出すシェルスクリプトです。ですから、createdb が実行される前に、postmasterプロセスがデータベースサーバのホストで走っていなくてはなりません。加えて環境変数 PGOPTIONPGREALMpsqlに渡され、psql(1) で説明されるように処理されます。

オプション引数のdbnameは削除されるデータベースの名前を指定します。このデータベースと関連したファイルがあるディレクトリを含む、関連するすべての参照が削除されます。dbnameはデフォルトでは環境変数 USER の値となります。

destroydbは次のコマンドラインオプションを取ることができます:

-i

データベースを削除する前にプロンプトを出します。(対話的)

-a system

postmasterプロセスへの接続に使われる認証システムsystem(pgintro(1) を見てください)を指定します。このオプションはもう何の効果もありません。

-h host

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

-p port

postmasterが接続を待っているインターネット TCP/IP ポートまたはローカルの Unix ドメインソケットファイルの拡張子を指定します。デフォルトでは 5432 もしくは、環境変数 PGPORT の値になります(もしセットされていれば)。

# demo データベースを削除します
destroydb demo
    
# ホスト eden のポート 5000 番の postmaster を使って
# demo データベースを削除します
destroydb -p 5000 -h eden demo
    

ファイル

$PGDATA/base/dbnameデータベースdbnameに対応するファイルの場所です。

参照

destroydb(l) ,createdb(1) ,initdb(1) ,psql(1) .postmaster(1) .

診断

Error: Failed to connect to backend (host= xxx , port= xxx )

createdbは指定されたホストとポートでpostmaster プロセスと接続することができませんでした。このメッセージを見たら、postmasterが指定した適当なホストとポートで走っているかどうか確認してください。もしあなたのサイトが認証システムを使っているのでしたら、必要とされる認証証明書を得ることができたかどうか確認してください。

user " username " is not in "pg_user"

あなたは "pg_user" リレーションに有効なエントリがありませんので、Postgres で何もすることができません。Postgres のサイト管理者に連絡をしてください。

user " username " is not allowed to create/destroy databases

データベースを削除する権利がありません。Postgres のサイト管理者に連絡をしてください。

database "dbname" does not exist

削除するデータベースは"pg_database"クラスにエントリがありません。

database " dbname " is not owned by you

あなたは指定されたデータベースの DBA ではありません。

database destroy failed on dbname

内部エラーがpsqlまたはバックエンドサーバに起こりました。Postgres のサイト管理者に連絡をして、そのデータベースに関連するファイルとデータベースのエントリが完全に削除されたかどうか確認したください。