Principais Arquivos do Servidor PostgreSQL e Suas Funções
Source: Dev.to

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
port = 5432
listen_addresses = '*'
shared_buffers = 256MB
log_min_duration_statement = 1000
📌 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. Define quem pode conectar, de qual IP, em qual banco e 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
Métodos comuns:
trust→ Não exige senha (inseguro)md5→ Senha criptografada (legado)scram-sha-256→ Método moderno e recomendadopeer→ 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
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
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';
Características importantes:
- Gerenciado automaticamente pelo PostgreSQL
- Sobrescreve valores do
postgresql.conf - Não deve ser editado manualmente
5️⃣ .pgpass — Arquivo de Senhas do Cliente
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
⚠️ Precisa ter permissão
0600. Caso contrário, é ignorado por questões de 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 |