Skip to main content
Cria novas roles. Uma role é um conjunto de privilégios. Um usuário ao qual uma role é atribuída recebe todos os privilégios dessa role. Sintaxe:
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

Esta sequência de consultas cria a role accountant, que tem o privilégio de ler dados do banco de dados db. Atribuindo a role ao usuário mira:
Depois que a role é atribuída, o usuário pode ativá-la e executar as consultas permitidas. Por exemplo:
Última modificação em 26 de setembro de 2026