dropuser — PostgreSQLのユーザアカウントを削除する
dropuser
[connection-option
...] [option
...] [username
]
dropuserは、既存のPostgreSQLのユーザを削除します。
PostgreSQLのユーザを削除することができるのは、スーパーユーザとCREATEROLE
権限があるユーザのみです。
dropuserはSQLコマンドDROP ROLEのラッパです。 このユーティリティを使用してユーザを削除しても、この方法以外の方法でサーバでアクセスしてユーザを削除しても特に違いはありません。
dropuserは、下記のコマンドライン引数を受け付けます。
username
削除するPostgreSQLのユーザ名を指定します。
コマンドラインで指定されず、かつ-i
/--interactive
オプションが使用されている場合は、入力を促すプロンプトが表示されます。
-e
--echo
dropuserが生成し、サーバに送信するコマンドを表示します。
-i
--interactive
実際にユーザを削除する前に確認のプロンプトを表示します。 コマンドラインにてユーザ名が指定されなかった場合にユーザ名の入力を促します。
-V
--version
dropuserのバージョンを表示し、終了します。
--if-exists
ユーザが存在しない場合にエラーを発生しません。 この場合は注意が発生します。
-?
--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でサポートされる環境変数を使用します(33.14を参照してください)。
問題が発生した場合、考えられる原因とエラーメッセージについてはDROP ROLEとpsqlを参照してください。 データベースサーバは対象ホスト上で稼働していなければなりません。 また、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;