dropuserは、存在するPostgreSQLユーザを削除し、それと一緒にそのユーザが所有していたデータベースも削除します。pg_shadow システムカタログで usesuper 権限があるユーザのみが PostgreSQL ユーザを削除することができます。
dropuserは、PostgreSQL の対話的端末psql経由で実行される SQL コマンド DROP USER のシェルスクリプトラッパーです。したがって、この方法以外の方法でユーザの削除を行っても特別な違いはありません。このことは、このスクリプトから psql が参照できなければならないことと、対象ホスト上でデータベースサーバが稼働していなければならないことを意味します。また、psql と libpq のフロントエンドライブラリで使用可能なあらゆるデフォルトの設定や環境変数が適応されます。
dropuser は、下記のコマンドライン引数を受け付けます。
削除する PostgreSQL ユーザ名を指定します。 これは、PostgreSQL システム内に存在する名前でなくてはなりません。コマンドラインでその指定が行われなかった場合には入力のためにプロンプトが表示されます。
dropuser が生成し、サーバに送信する問い合わせを表示します。
実際にユーザを削除する前に確認のプロンプトを表示させます。
返答を表示させないようにします。
createuser は以下のコマンドライン引数も接続パラメータとして受けつけます。
サーバが稼働しているマシンのホスト名を指定します。ホスト名がスラッシュから始まる場合、Unix ドメインソケット用のディレクトリとして使用されます。
サーバが接続を監視するインターネット TCP/IP ポートもしくはUnix ドメインソケットのファイル拡張子を指定します。
接続に使用するユーザ名 (削除するユーザ名ではなく)
パスワードのプロンプトを強制します (削除するユーザのパスワードではなくサーバに接続するためのパスワード)。
問題ありません。
問題が起こりました。 ユーザは削除されませんでした。
エラー条件があれば、バックエンドのエラーメッセージが表示されます。この場合に表示されるメッセージについては、DROP USER、とpsqlを参照して下さい。
以下のコマンドで、joe というユーザをデフォルトのデータベースサーバから削除します。
$ dropuser joe DROP USER
以下のコマンドで、ホスト eden でポート5000を使用している postmaster からユーザ joe を削除します。 また、この時、背後で実行される問い合わせを表示し、また、削除前に確認が促されます。
$ 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