dropuser

Name

dropuser -- PostgreSQL ユーザアカウントの削除

Synopsis

dropuser [options...] [username]

入力

-h, --host host

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

-p, --port port

サーバが接続監視のために使用しているインターネット 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は、存在する PostgreSQLユーザを削除し、 それと一緒にそのユーザが所有していたデータベースも削除します。pg_shadow システムカタログで usesuper権限があるユーザのみが PostgreSQL ユーザを削除することができます。

dropuserは、PostgreSQLの対話的端末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