Pular para o conteúdo principal

Runbook — PostgreSQL

Sintomas

  • Timeouts TypeORM no arranque
  • ECONNREFUSED 127.0.0.1:5432 no container
  • Login 500 / empresas 500
  • Uma das duas BDs ok e a outra não (auth vs domínio)

Dual BD

Há duas conexões. Falha de auth (AUTH_DATABASE_*) parte login/register. Falha da default (POSTGRES_*) parte empresas, operacional, white label, portal.

Verificar

  1. No container: as variáveis existem e não estão vazias? (POSTGRES_HOST vs localhost é o erro clássico — env-container).
  2. Firewall / security group: IP de saída do Swarm ≠ IP do portátil do developer.
  3. DATABASE_SSL / AUTH_DATABASE_SSL alinhados com o servidor.
  4. DATABASE_SEARCH_PATH se company não está em public.
  5. Credenciais rodadas no servidor e não no painel do serviço.

Diagnóstico longo: docker-db-debug.

Mitigação

  • Corrigir env e redeploy (não basta restart se o env_file antigo ficou baked).
  • Não ligar synchronize: true para “corrigir” schema.
  • Se migration a meio: não avançar a imagem; aplicar ou reverter SQL à mão (ADR 0005).