Skip to content

08 - Como criar e excluir usuários com createuser e dropuser #8

@cassiosantana

Description

@cassiosantana

Aula 08

Criando e Excluindo Usuários no PostgreSQL

O que são createuser e dropuser?

createuser e dropuser são comandos auxiliares (wrappers) que simplificam a criação e exclusão de usuários no PostgreSQL. Eles encapsulam comandos SQL mais complexos, facilitando o gerenciamento de usuários.

Criando um Novo Usuário

Pré-requisitos:

  • Estar logado como um superusuário do PostgreSQL: sudo -i -u postgres

Comando básico:

  createuser -dPs <nome_do_usuario>
  • -d: Cria um banco de dados com o mesmo nome do usuário.
  • -P: Solicita uma senha para o novo usuário.
  • -s: Torna o usuário um superusuário (com todos os privilégios).

Opções adicionais:

  • --interactive: Permite configurar o usuário interativamente.

Exemplo:

  createuser -dPs cassio

Listando Usuários
Para listar os usuários e suas permissões, utilize:

  \du

Isso exibirá uma tabela com as seguintes informações (entre outras):

  • Superuser
  • Create role
  • Create DB
  • Replication
  • Bypass RLS

Configurando Permissões no pg_hba.conf
O arquivo pg_hba.conf controla as conexões ao servidor PostgreSQL. Para permitir que o novo usuário se conecte, adicione uma linha semelhante à seguinte:

    local   all             cassio                                  md5

Resultado


Database administrative login by Unix domain socket
local   all             postgres                                md5
local   all             cassio                                  md5

Reinicie o serviço PostgreSQL

  sudo systemctl restart postgresql

Conectando-se ao PostgreSQL

    psql
  • Importante: Se você não especificar um banco de dados, o PostgreSQL tentará conectar-se ao banco de dados com o mesmo nome do seu usuário do sistema.

Especificando o banco de dados

  psql -U cassio -d meu_banco_development
  • -U: Nome do usuário do banco de dados.
  • -d: Nome do banco de dados.

Verificando usuário e banco de dados

    \conninfo

Erros Comuns

  • Banco de dados inexistente: Se você receber a mensagem "database "cassio" does not exist", verifique se o banco de dados foi criado corretamente ou especifique o nome correto do banco de dados.

Excluindo um Usuário

Pré-requisitos:

  • Estar logado como um superusuário do PostgreSQL: sudo -i -u postgres
    dropuser <nome_do_usuario>

Erros Comuns

  • Excluir usuário proprietário de banco de dados: não é permitido excluir esse tipo de usuário.
    dropuser: error: removal of role "cassio" failed: ERROR:  role "cassio" cannot be dropped because some objects depend on it

Metadata

Metadata

Assignees

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions