DEV Community

Cover image for Principais Arquivos do Servidor PostgreSQL e Suas Funções
Felipe Cezar
Felipe Cezar

Posted on

Principais Arquivos do Servidor PostgreSQL e Suas Funções

1️⃣ postgresql.conf — Configuração Geral do Servidor

É o arquivo central de configuração do PostgreSQL.

Controla:

  • Porta do servidor (port)
  • Interfaces de rede (listen_addresses)
  • Memória (shared_buffers, work_mem, maintenance_work_mem)
  • Logs
  • Autovacuum
  • WAL (Write-Ahead Log)
  • Replicação
  • Parâmetros de performance

Exemplo:

port = 5432
listen_addresses = '*'
shared_buffers = 256MB
log_min_duration_statement = 1000
Enter fullscreen mode Exit fullscreen mode

📌 Sempre que você quiser alterar o comportamento global do servidor, é aqui que você mexe.


2️⃣ pg_hba.conf — Controle de Acesso e Autenticação

HBA significa Host-Based Authentication.

Esse arquivo define:

  • Quem pode conectar
  • De qual IP
  • Em qual banco
  • Qual método de autenticação será usado

Estrutura típica:

TYPE  DATABASE  USER  ADDRESS        METHOD
host  all       all   192.168.1.0/24 md5
Enter fullscreen mode Exit fullscreen mode

Métodos comuns:

  • trust → Não exige senha (inseguro)
  • md5 → Senha criptografada (legado)
  • scram-sha-256 → Método moderno e recomendado
  • peer → Usa autenticação do sistema operacional

📌 Se o assunto é segurança e acesso, pense imediatamente em pg_hba.conf.


3️⃣ pg_ident.conf — Mapeamento de Usuários

Esse arquivo mapeia usuários do sistema operacional para usuários do PostgreSQL.

É usado junto com autenticação peer ou ident.

Exemplo conceitual:

mapa_nome   usuario_linux   usuario_postgres
Enter fullscreen mode Exit fullscreen mode

Ele não controla IP nem senha — apenas identidade.


4️⃣ postgresql.auto.conf — Configuração via ALTER SYSTEM

Criado automaticamente quando você executa:

ALTER SYSTEM SET work_mem = '64MB';
Enter fullscreen mode Exit fullscreen mode

O PostgreSQL grava o parâmetro nesse arquivo.

Características importantes:

  • É gerenciado automaticamente
  • Sobrescreve valores do postgresql.conf
  • Não deve ser editado manualmente

5️⃣ .pgpass — Arquivo de Senhas do Cliente

Esse arquivo fica na máquina cliente, não no servidor.

Serve para armazenar credenciais e evitar digitar senha a cada conexão.

Formato:

hostname:port:database:username:password
Enter fullscreen mode Exit fullscreen mode

⚠️ Precisa ter permissão 0600. Caso contrário, é ignorado por segurança.


6️⃣ Diretório de Dados (data/)

Dentro do diretório de dados ficam:

  • Arquivos físicos das tabelas
  • WAL (logs de transação)
  • Catálogo do sistema
  • Arquivos de controle interno

Nunca altere manualmente arquivos dentro desse diretório.


Resumo Estratégico

Arquivo Função Principal Foco
postgresql.conf Configuração geral Performance e comportamento
pg_hba.conf Controle de acesso Segurança
pg_ident.conf Mapeamento de usuários Integração com SO
postgresql.auto.conf Configuração automática ALTER SYSTEM
.pgpass Senha do cliente Conexões automatizadas

Top comments (0)