

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](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>

Remove uma função de um banco de dados. Somente o proprietário da função que criou a função, um usuário com a opção WITH ADMIN ou um superusuário pode descartar uma função.

Você não pode descartar uma função concedida a um usuário ou outra função que dependa dessa função.

## Privilégios obrigatórios
<a name="r_DROP_ROLE-privileges"></a>

A seguir estão os privilégios obrigatórios para DROP ROLE:
+ Superusuário
+ Proprietário da função que é o usuário que criou a função ou um usuário que recebeu a função com o privilégio WITH ADMIN OPTION.

## Sintaxe
<a name="r_DROP_ROLE-synopsis"></a>

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

## Parâmetros
<a name="r_DROP_ROLE-parameters"></a>

*role\_name*  
O nome da função.

[ FORCE \| RESTRICT ]  
A configuração padrão é RESTRICT. O Amazon Redshift emite um erro quando você tenta eliminar uma função que tenha herdado outra função. Use FORCE para remover todas as atribuições de função, se houver alguma. 

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

O exemplo a seguir usa a função `sample_role`.

```
DROP ROLE sample_role FORCE;
```

O exemplo a seguir tenta descartar a função sample\_role1 que foi concedida a um usuário com a opção RESTRICT padrão.

```
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
```

Para descartar com êxito a função sample\_role1 que foi concedida a um usuário, use a opção FORCE.

```
DROP ROLE sample_role1 FORCE;
```

O exemplo a seguir tenta descartar a função sample\_role2 que tem uma outra função dependente dela com a opção RESTRICT padrão.

```
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
```

Para descartar com êxito a função sample\_role2 que tem outra função dependente dela, use a opção FORCE.

```
DROP ROLE sample_role2 FORCE;
```