★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

dropuser

名前

dropuser -- PostgreSQLユーザアカウントを削除する

概要

dropuser [connection-option...] [option...] [username]

説明

dropuserは、存在するPostgreSQLユーザを削除します。 PostgreSQLユーザを削除することができるのは、スーパーユーザとCREATEROLE権限があるユーザのみです。

dropuserDROP ROLE SQLコマンドのラッパです。 このユーティリティを使用してユーザを削除しても、この方法以外の方法でサーバでアクセスしてユーザを削除しても特に違いはありません。

オプション

dropuserは、下記のコマンドライン引数を受け付けます。

username

削除するPostgreSQLユーザ名を指定します。 コマンドラインで指定されなかった場合は、入力を促すプロンプトが表示されます。

-e
--echo

dropuserが生成し、サーバに送信するコマンドを表示します。

-i
--interactive

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

-V
--version

dropuserのバージョンを表示し、終了します。

-?
--help

dropuserのコマンドライン引数の使用方法を表示し、終了します。

dropuserは以下のコマンドライン引数も接続パラメータとして受け付けます。

-h host
--host=host

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

-p port
--port=port

サーバが接続を監視するTCPポートもしくはUnixドメインソケットのファイル拡張子を指定します。

-U username
--username=username

接続に使用するユーザ名です (削除するユーザ名ではありません)。

-w
--no-password

パスワードの入力を促しません。 サーバがパスワード認証を必要とし、かつ、.pgpassファイルなどの他の方法が利用できない場合、接続試行は失敗します。 バッチジョブやパスワードを入力するユーザが存在しない場合にこのオプションは有用かもしれません。

-W
--password

データベースに接続する前に、dropuserは強制的にパスワード入力を促します。

サーバがパスワード認証を要求する場合dropuserは自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、dropuserは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために-Wの入力が有意となる場合もあります。

環境

PGHOST
PGPORT
PGUSER

デフォルトの接続パラメータです。

また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(項31.13を参照してください)。

診断

問題が発生した場合、考えられる原因とエラーメッセージについてはDROP ROLEpsqlを参照してください。 データベースサーバは対象ホスト上で稼働していなければなりません。 また、libpqフロントエンドライブラリで使用される、あらゆるデフォルトの設定や環境変数が適用されることを覚えておいてください。

デフォルトのデータベースサーバから、joeというユーザを削除します。

$ dropuser joe

ホストedenでポート5000を使用しているサーバから、joeというユーザを削除します。 オプションによって、背後で実行されるコマンドの表示と、削除前の確認がなされています。

$ dropuser -p 5000 -h eden -i -e joe
Role "joe" will be permanently removed.
Are you sure? (y/n) y
DROP ROLE joe;

関連項目

createuser, DROP ROLE