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

名称

destroyuser - Postgresのユーザと関連したデータベースを削除します

形式

destroyuser [ -a system][ -h host][ -p port][username]

説明

destroyuserは既存の Postgres のユーザとそのユーザが管理者となっているデータベースを削除します。"pg_shadow" クラスで "usesuper" がセットされているユーザのみがPostgres のユーザを削除することができます。配布された状態では、ユーザ "postgres" がユーザを削除することができます。

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

オプション引数のusernameは削除される Postgres のユーザの名前を指定します。(コマンドライン上で何も指定されなければ、名前を指定するプロンプトが表示されます。)

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

-a system

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

-h host

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

-p port

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

対話的質問

上記のオプションをつけて呼び出されると、destroyuserはそのプロセスで削除されるデータベースについて警告して、もし望むならその削除を中止することができます。

参照

createuser(1) ,psql(1) ,postmaster(1) .

診断

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

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

user " username " is not in "pg_shadow"

"pg_shadow" に有効なエントリがありませんので、Postgres では何もできません。Postgres のサイト管理者に連絡を取ってください。

username cannot delete users.

ユーザを削除する権限が与えられていません。Postgres のサイト管理者に連絡を取ってください。

user " username " does not exist

削除されるユーザは "pg_shadow" クラスにエントリがありません。

database access failed

destroydb on dbname failed - exiting

delete of user username was UNSUCCESSFUL

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