DROP ROLE
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 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
DROP ROLE role_name [ FORCE | RESTRICT ]
Parâmetros
- 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
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;