31.01.2025

Como gerenciar usuários no PostgreSQL?

Introdução

Os sistemas de informação estão presentes em várias esferas de negócios e em nosso ciclo de vida: assistência médica, produção, cultivo de alimentos, entretenimento etc. Tudo isso precisava salvar, compartilhar, extrair, obter e atualizar dados com mais eficácia. Para isso, a comunidade desenvolveu o armazenamento de dados estruturados e criou diferentes tipos de BD para finalidades distintas. Nestas instruções, consideraremos um desses exemplos, o PostgreSQL, e como gerenciar usuários nele.

Gerenciamento

Instalamos o Sistema de Gerenciamento de Banco de Dados (SGBD) PostgreSQL em nossa máquina, e nossa etapa inicial envolve mudar o usuário para postgres:

sudo -i -u postgres
psql

Screenshot №1 - Login

Para verificar o usuário no DBMS, podemos usar o comando abaixo:

SELECT * FROM pg_catalog.pg_user;

Screenshot №2 - Show users

Agora podemos adicionar uma nova conta e, para isso, precisamos indicar o rótulo e a senha:

CREATE USER serverspace WITH PASSWORD 'mypassword.com';

E para garantir que nosso comando funcione corretamente, podemos destacar a legenda CREATE ROLEcomo confirmação e digitar o comando para verificar o usuário novamente:

SELECT * FROM pg_catalog.pg_user;

Screenshot №3 - Create user

Na tabela, estão representados todos os parâmetros do novo usuário adicionado. Agora, precisamos conceder privilégios também por meio do comando:

GRANT ALL ON ALL TABLES IN SCHEMA public TO serverspace;

Vamos explicar a sintaxe dessas consultas complexas:

Screenshot №4 - Grant privileges

Da mesma forma, podemos revogar isso:

REVOKE ALL ON ALL TABLES IN SCHEMA public FROM serverspace;

Screenshot №5 - Revoke privileges

Como você pode notar, a sintaxe do comando lembra a linguagem humana e intuitiva. Também podemos atribuir uma função ao usuário, ou seja, um grupo especial para facilitar o gerenciamento:

CREATE ROLE tigers;
GRANT tigers to serverspace;

Screenshot №6 - Create and grant role

Há casos em que precisamos restaurar a senha ou atualizá-la devido a fatores humanos ou problemas técnicos; para isso, podemos usar o comando:

ALTER USER serverspace WITH PASSWORD 'newpassphrase';

Screenshot №7 - Change password

Para excluir a conta, podemos usar a consulta SQL DROP:

DROP USER serverspace;

E verificar a lista de usuários atuais no DBMS:

SELECT * FROM pg_catalog.pg_user;

Screenshot №8 - Excluir usuário

Conclusão

Os sistemas de informação desempenham um papel fundamental em vários aspectos de nossas vidas, abrangendo setores como saúde, produção, agricultura, entretenimento e outros. A necessidade de armazenar, compartilhar, recuperar e atualizar dados com eficiência nesses sistemas levou ao desenvolvimento de soluções de armazenamento especializadas para dados estruturados. Um exemplo disso é o PostgreSQL, um sistema de gerenciamento de banco de dados (DBMS) poderoso e versátil.