dropuser

Name

dropuser --  Postgresユーザの削除

Synopsis

dropuser [options...] [username]

入力

-h, --host host

postmasterが稼働しているマシンのホスト名を 指定します。ホスト名がスラッシュから始まる場合には UNIXドメインソケットのディレクトリとして使用されます。

-p, --port port

postmasterが接続のために使用している インターネットのTCP/IPポート、またはUNIXドメインソケットファイルの拡張を特定します。

-e, --echo

createdbが発行した問い合わせを 表示し、バックエンドに伝達します。

-q, --quiet

結果を表示させません。

-i, --interactive

実際にユーザを削除する前に確認のプロンプトを表示させます。

username

削除するPostgresユーザ名を指定します。 ここで指定する名前はインストールしたPostgres に存在している必要があります。コマンドラインで その指定が行われなかった場合には入力のためにプロンプトが表示されます。

-h-p-eオプションは そのままpsqlに引き渡されます。psqlの オプションである-U-Wも 使用することが可能ですが、このコンテキスト内で混同する畏れがあります。

出力

DROP USER

問題ありません。

dropuser: deletion of user "username" failed

何かエラーが生じ、ユーザは削除されませんでした。

エラー状態がある場合、バックエンドエラーメッセージが表示されます。 詳細はDROP USERpsqlをご覧下さい。

説明

dropuserは、存在するPostgresユーザ を削除し、それと一緒にそのユーザが所有していたデータベースも 削除します。pg_shadowシステムカタログで usesuper権限があるユーザのみが Postgresユーザを削除することができます。

dropuserは、Postgresの 対話的端末psql経由で実行される SQLコマンドDROP USER のシェルスクリプトラッパーです。 したがって、この方法以外の方法でユーザの削除を行っても特別な違いはありません。 スクリプトからpsqlを参照することができ、かつ データベースサーバが指定したホストで稼働している必要があります。 また、psqllibpq のフロントエンドライブラリの、あらゆるデフォルトの設定や環境変数が適応されます。

使用方法

joeというユーザをデフォルトのデータベースサーバから削除したい場合には 下記のコマンドを実行します。

$ dropuser joe
DROP USER

joeというユーザを、edenというホストから、 ポート5000を使用し、環境下にある問い合わせを覗ながら、 削除の確認を行って削除したい場合には下記のコマンドを実行します。

$ dropuser -p 5000 -h eden -i -e joe
User "joe" and any owned databases will be permanently deleted.
Are you sure? (y/n) y
DROP USER "joe"
DROP USER