Além dos usuários e papéis padrão que acompanham o PostgreSQL, você pode criar outros usuários ou papéis do PostgreSQL. Esses usuários têm o mesmo conjunto de privilégios que o usuário postgres: CREATE ROLE, CREATEDB e LOGIN. Para mais informações sobre esses
privilégios, consulte CREATE ROLE.
É possível mudar os privilégios de qualquer usuário usando o ALTER ROLE comando. Se você criar um novo usuário com o cliente psql, poderá associá-lo a um papel diferente ou atribuir privilégios diferentes.
Antes de começar
Para usar comandos do PostgreSQL para gerenciar usuários em um cluster, você precisa do seguinte:
- Acesso ao cliente
psql - Acesso ao usuário do banco de dados
postgresou a outro usuário com os privilégios administrativos adequados
Criar um usuário de banco de dados
Para criar um usuário de banco de dados que se autentica diretamente com o banco de dados usando um nome de usuário e senha, também conhecido como autenticação integrada— use o seguinte comando:
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
Substitua:
USERNAME: o nome de função do usuário do usuário.PASSWORD: a nova senha a ser atribuída ao função do usuário.
Para mais informações sobre como criar e definir usuários de banco de dados, consulte CREATE
USER.
Depois de criar um usuário ou um papel, você pode mudar os privilégios dele usando o ALTER
ROLE comando
no cliente psql.
Conceder papéis a um usuário de banco de dados
Para conceder papéis a um usuário de banco de dados, use o seguinte comando:
GRANT ROLE to USERNAME;
Substitua:
ROLE: o papel a ser concedido ao usuário do banco de dados.PASSWORD: a nova senha a ser atribuída ao função do usuário.
Para conceder privilégios de superusuário a um usuário, conceda a ele o papel alloydbsuperuser.
Mudar a senha de um usuário de banco de dados
Para definir uma nova senha para um usuário padrão do banco de dados PostgreSQL, use o seguinte comando:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
Substitua:
USERNAME: o nome de usuário do banco de dados.PASSWORD: a nova senha a ser atribuída ao função do usuário.
Para mais informações sobre como mudar a senha de um usuário, consulte ALTER ROLE.
Revogar um papel de um usuário de banco de dados
Para revogar um privilégio concedido anteriormente de um ou mais papéis ou para revogar a associação de um usuário a um papel, use o seguinte comando:
REVOKE ROLE FROM USERNAME;
Para remover os privilégios de superusuário de um usuário, revogue o papel alloydbsuperuser
desse usuário.
Conferir uma lista de usuários do banco de dados
Para conferir uma tabela de todos os usuários do banco de dados e as associações de grupo deles, use o seguinte comando:
\du
Excluir um usuário do banco de dados
Antes de excluir um usuário, você precisa descartar todos os objetos que são da propriedade dele ou reatribuir a propriedade e revogar os privilégios concedidos ao papel em outros objetos.
Para excluir um usuário, use o seguinte comando:
DROP ROLE USERNAME;