DROP ROLE - Amazon Redshift

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;