wils@web ~ $ cat ~/ajuda/como-configurar-o-postgresql-15-para-autenticacao-baseada-em-dados-de-usuarios.md

Banco de Dados

Como configurar o PostgreSQL 15 para autenticação baseada em dados de usuários

atualizado em 26/07/2026

Este manual aborda como configurar o PostgreSQL 15 para autenticação baseada em dados de usuários, permitindo um controle mais granular sobre o acesso ao banco de dados.

Introdução

A autenticação baseada em dados de usuários no PostgreSQL permite que você defina regras específicas para o acesso ao banco de dados, utilizando tabelas que armazenam informações de usuários e senhas. Neste guia, vamos configurar um sistema de autenticação utilizando uma tabela personalizada.

Passo a Passo

1. Instalar o PostgreSQL

  • Para instalar o PostgreSQL 15, execute:
sudo apt update
sudo apt install postgresql-15

2. Criar uma tabela de usuários

  • Conecte-se ao PostgreSQL:
sudo -u postgres psql
  • Crie uma tabela para armazenar usuários:
CREATE TABLE usuarios (
    id SERIAL PRIMARY KEY,
    nome VARCHAR(50) NOT NULL,
    senha VARCHAR(255) NOT NULL
);

3. Inserir dados de usuários

  • Adicione um usuário de exemplo:
INSERT INTO usuarios (nome, senha) VALUES ('usuario1', 'senhaSegura');

4. Configurar o arquivo pg_hba.conf

  • Edite o arquivo de configuração:
sudo nano /etc/postgresql/15/main/pg_hba.conf
  • Adicione a seguinte linha para habilitar a autenticação:
host    all             all             0.0.0.0/0            md5

5. Criar função de autenticação

  • Crie uma função para verificar as credenciais:
CREATE OR REPLACE FUNCTION autenticar_usuario(user_name VARCHAR, user_password VARCHAR) RETURNS BOOLEAN AS $$
DECLARE
    usuario_count INT;
BEGIN
    SELECT COUNT(*) INTO usuario_count FROM usuarios WHERE nome = user_name AND senha = user_password;
    RETURN usuario_count > 0;
END;
$$ LANGUAGE plpgsql;

6. Testar a autenticação

  • Execute a função para verificar se o usuário pode se autenticar:
SELECT autenticar_usuario('usuario1', 'senhaSegura');

Conclusão

A configuração do PostgreSQL para autenticação baseada em dados de usuários oferece uma abordagem flexível para gerenciar o acesso. Lembre-se de sempre utilizar senhas seguras e considerar a implementação de criptografia para armazenar senhas.

Dica: Considere utilizar hashing para senhas ao invés de armazená-las em texto claro, utilizando bibliotecas como bcrypt.

Precisa de ajuda com isso no seu servidor? A gente resolve pra você.

falar no WhatsApp

// deu erro ou não funcionou?

Achou algo errado neste manual?

Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.