CREATE ROLE requer o privilégio CREATE ROLE. OR REPLACE descarta uma role existente com o mesmo nome, junto com os privilégios concedidos a ela, portanto requer adicionalmente o privilégio DROP ROLE. O privilégio DROP ROLE é exigido para cada nome listado na instrução, exista ou não essa role, de modo que a instrução não pode ser usada para descobrir quais roles existem.
Gerenciamento de roles
Um usuário pode ter várias roles atribuídas. Os usuários podem aplicar suas roles atribuídas em combinações arbitrárias por meio da instrução SET ROLE. O escopo final dos privilégios é a combinação de todos os privilégios de todas as roles aplicadas. Se um usuário tiver privilégios concedidos diretamente à sua conta de usuário, eles também serão combinados com os privilégios concedidos pelas roles. Um usuário pode ter roles padrão, que são aplicadas no login. Para definir roles padrão, use a instrução SET DEFAULT ROLE ou a instrução ALTER USER. Para revogar uma role, use a instrução REVOKE. Para excluir uma role, use a instrução DROP ROLE. A role excluída é automaticamente revogada de todos os usuários e roles aos quais foi atribuída.Exemplos
accountant, que tem o privilégio de ler dados do banco de dados db.
Atribuindo a role ao usuário mira: