

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# DROP ROLE
<a name="r_DROP_ROLE"></a>

データベースからロールを削除します。ロールを削除できるのは、そのロールを作成した所有者、WITH ADMIN オプションを使用しているユーザー、またはスーパーユーザーのみです。

ユーザーに付与されているロールや、別のロールが依存しているロールを削除することはできません。

## 必要な権限
<a name="r_DROP_ROLE-privileges"></a>

以下に、DROP ROLE に必要な権限を示します。
+ スーパーユーザー
+ ロールを作成した所有者ユーザー、または WITH ADMIN OPTION の権限があるロールを付与された所有者ユーザー。

## 構文
<a name="r_DROP_ROLE-synopsis"></a>

```
DROP ROLE role_name [ FORCE | RESTRICT ] 
```

## パラメータ
<a name="r_DROP_ROLE-parameters"></a>

*role\_name*  
ロールの名前。

[ FORCE \| RESTRICT ]  
デフォルトの設定は RESTRICT です。削除しようとしたロールが別のロールを継承している場合、Amazon Redshift はエラーをスローします。ロールの割り当てが存在する場合、その割り当てをすべて削除するには FORCE を使用します。

## 例
<a name="r_DROP_ROLE-examples"></a>

次の例では、ロール `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;
```