destroyuser - Postgresのユーザと関連したデータベースを削除します
destroyuser [ -a system][ -h host][ -p port][username]
destroyuserは既存の Postgres のユーザとそのユーザが管理者となっているデータベースを削除します。"pg_shadow" クラスで "usesuper" がセットされているユーザのみがPostgres のユーザを削除することができます。配布された状態では、ユーザ "postgres" がユーザを削除することができます。
destroyuserはpsqlを呼び出すシェルスクリプトです。ですから、destroyuserを実行する前にpostmasterプロセスがデータベースサーバのホストで走っていなくてはなりません。加えて、環境変数 PGOPTION と PGREALM がpsqlに渡され、psql(1) で説明されるように扱われます。
オプション引数のusernameは削除される Postgres のユーザの名前を指定します。(コマンドライン上で何も指定されなければ、名前を指定するプロンプトが表示されます。)
destroyuserは次のコマンドラインオプションを取ることができます:
postmasterプロセスとの接続に使う認証システムsystemを指定します。(pgintro(1) を参照してください)このオプションはもう何の効果もありません。
postmasterが走っているマシンのホスト名を指定します。デフォルトではローカルの Unix ドメインソケットを使います。
postmasterが接続を待っているTCP/IP ポートまたはローカルの Unix ドメインソケットのファイル拡張子を指定します。デフォルトでは 5432 、あるいは(セットされていれば)環境変数 PGPORT の値となります。
上記のオプションをつけて呼び出されると、destroyuserはそのプロセスで削除されるデータベースについて警告して、もし望むならその削除を中止することができます。
destroyuserは指定されたホストとポートでpostmasterプロセスに接続することができませんでした。もしこのメッセージを見たら、postmasterが適切なホストと指定した適切なポートで走っているかどうか確認してください。もしサイトが認証システムを使っているなら、必要な認証証明書を手に入れたかどうか確認してください。
"pg_shadow" に有効なエントリがありませんので、Postgres では何もできません。Postgres のサイト管理者に連絡を取ってください。
ユーザを削除する権限が与えられていません。Postgres のサイト管理者に連絡を取ってください。
削除されるユーザは "pg_shadow" クラスにエントリがありません。
psqlもしくはバックエンドサーバの内部エラーが起こりました。Postgres のサイト管理者に連絡をして、そのユーザに関連するデータベースのエントリとファイル、それから関連したデータベースが完全に削除されたかどうか確認してください。