データベースからロールを削除します。ロールを削除できるのは、そのロールを作成した所有者、WITH ADMIN オプションを使用しているユーザー、またはスーパーユーザーのみです。
ユーザーに付与されているロールや、別のロールが依存しているロールを削除することはできません。
必要な権限
以下に、DROP ROLE に必要な権限を示します。
-
スーパーユーザー
-
ロールを作成した所有者ユーザー、または WITH ADMIN OPTION の権限があるロールを付与された所有者ユーザー。
構文
DROP ROLE role_name [ FORCE | RESTRICT ]
パラメータ
- role_name
-
ロールの名前。
- [ FORCE | RESTRICT ]
-
デフォルトの設定は RESTRICT です。削除しようとしたロールが別のロールを継承している場合、Amazon Redshift はエラーをスローします。ロールの割り当てが存在する場合、その割り当てをすべて削除するには FORCE を使用します。
例
次の例では、ロール sample_role
を削除しています。
DROP ROLE sample_role FORCE;
次の例では、デフォルトの RESTRICT オプションを使用してユーザーに付与されたロール sample_role1 の削除を試みます。
CREATE ROLE sample_role1;
GRANT ROLE sample_role1 TO user1;
DROP ROLE sample_role1;
ERROR: cannot drop this role since it has been granted on a user
このようにユーザーに付与された sample_role1 を正常に削除するには、FORCE オプションを使用します。
DROP ROLE sample_role1 FORCE;
次の例では、別の (デフォルトの RESTRICT オプションを使用している) ロールからの依存関係がある、ロール sample_role2 を削除しようと試みます。
CREATE ROLE sample_role1;
CREATE ROLE sample_role2;
GRANT ROLE sample_role1 TO sample_role2;
DROP ROLE sample_role2;
ERROR: cannot drop this role since it depends on another role
依存する別のロールを持つ sample_role2 を正常に削除するには、FORCE オプションを使用します。
DROP ROLE sample_role2 FORCE;