DROP ROLEは指定したロール(複数可)を削除します。 スーパーユーザロールを削除するには、自身もスーパーユーザでなければなりません。 スーパーユーザ以外のロールを削除するには、CREATEROLE権限を持たなければなりません。
データベースクラスタのいずれかから参照されている場合、ロールを削除することができません。 削除しようとしてもエラーとなります。 ロールを削除する前に、そのロールが所有するオブジェクトすべてを削除(またはその所有権を変更)しなければなりません。 また、そのロールが付与した権限も取り上げなければなりません。 この目的のためにはREASSIGN OWNEDおよびDROP OWNEDコマンドが有用です。
しかし、ロール内のロールメンバ資格を削除する必要はありません。 DROP ROLEは自動的に他のロール内にある対象ロールのメンバ資格を取り上げます。 他のロールは削除されることも何らかの影響を受けることもありません。
PostgreSQLには、このコマンドと同じ機能を持つdropuserプログラムがあります。 (実際には、このプログラムはこのコマンドを呼び出しています。) こちらはコマンドシェルから実行することができます。