Gerenciar usuários e permissões
Antes de começar a gerenciar usuários e permissões no PostgreSQL, é importante garantir que você tenha acesso a um banco de dados PostgreSQL e a uma Virtual Machine (VM) provisionados na mesma região disponível na Magalu Cloud. Como o endereço do banco PostgreSQL pode ser privado, utilize a VM como "jump host" para conectar-se via psql
. Manter ambos na mesma região minimiza latência, evita custos adicionais de tráfego entre regiões e melhora a performance.
1. Criar um novo usuário
Conectado à instância (por exemplo, via psql
), execute:
CREATE USER newuser WITH PASSWORD 'password';
newuser
: nome do usuário a ser criado.password
: senha do novo usuário.
Observação: a configuração de origem permitida (hosts) é feita no arquivo
pg_hba.conf
, não no comando SQL.
Para conceder acesso total a um banco de dados:
GRANT ALL PRIVILEGES ON DATABASE database_name TO newuser;
database_name
: nome do banco de dados.newuser
: usuário alvo.
2. Listar usuários existentes
Para ver todos os roles definidos no servidor:
SELECT rolname FROM pg_roles;
3. Modificar permissões de usuário
Conceder privilégios em tabelas existentes
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO newuser;
Garantir privilégios para futuras tabelas
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT, INSERT, UPDATE ON TABLES TO newuser;
Revogar privilégios
REVOKE DELETE ON ALL TABLES IN SCHEMA public FROM newuser;
4. Excluir um usuário
Para remover um role:
DROP ROLE newuser;
Nota:
DROP USER
é um alias deDROP ROLE
em versões compatíveis.