dropuser — PostgreSQLのユーザアカウントを削除する
dropuser [connection-option...] [option...] [username]
dropuserは、既存のPostgreSQLのユーザを削除します。
PostgreSQLのユーザを削除することができるのは、スーパーユーザとCREATEROLE権限があるユーザのみです。
dropuserはSQLコマンドDROP ROLEのラッパです。 このユーティリティを使用してユーザを削除しても、この方法以外の方法でサーバでアクセスしてユーザを削除しても特に違いはありません。
dropuserは、下記のコマンドライン引数を受け付けます。
username
削除するPostgreSQLのユーザ名を指定します。
コマンドラインで指定されず、かつ-i/--interactiveオプションが使用されている場合は、入力を促すプロンプトが表示されます。
-e--echodropuserが生成し、サーバに送信するコマンドを表示します。
-i--interactive実際にユーザを削除する前に確認のプロンプトを表示します。 コマンドラインにてユーザ名が指定されなかった場合にユーザ名の入力を促します。
-V--versiondropuserのバージョンを表示し、終了します。
--if-existsユーザが存在しない場合にエラーを発生しません。 この場合は注意が発生します。
-?--helpdropuserのコマンドライン引数の使用方法を表示し、終了します。
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の入力が有意となる場合もあります。
PGHOSTPGPORTPGUSERデフォルトの接続パラメータです。
また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(34.14を参照してください)。
問題が発生した場合、考えられる原因とエラーメッセージについてはDROP ROLEとpsqlを参照してください。 データベースサーバは対象ホスト上で稼働していなければなりません。 また、libpqフロントエンドライブラリで使用される、あらゆるデフォルトの設定や環境変数が適用されます。
デフォルトのデータベースサーバから、ユーザjoeを削除します。
$dropuser joe
ホストedenでポート5000を使用しているサーバから、ユーザjoeを削除します。
このとき、背後で実行されるコマンドの表示と、削除前の確認をします。
$dropuser -p 5000 -h eden -i -e joeRole "joe" will be permanently removed. Are you sure? (y/n)yDROP ROLE joe;