# ADR-0003 — PostgreSQL como system of record

**Status:** Accepted  
**Data:** 2026-07-14  
**Decisores:** Arquitetura de Software

---

## Contexto

Multi-tenant SaaS auditável exige ACID, migrações maduras, restrições e capacidade analítica operacional. Document stores como fonte da verdade enfraquecem invariantes e auditoria.

## Decisão

**PostgreSQL 16+** é a fonte da verdade OLTP para tenancy, IAM metadata, catalog snapshots, cases, billing, outbox e audit store inicial. Demais stores (busca, grafo, objetos) são derivados ou especializados.

## Alternativas consideradas

| Opção | Prós | Contras | Por que não |
|--------|------|---------|-------------|
| MongoDB como SoR | Flexibilidade schema | Integridade e joins fracos para o domínio | Risco a longo prazo |
| MySQL | Conhecido | JSON/extensões/RLS menos alinhados ao plano | PG superior ao caso |
| Somente DynamoDB | Escala serverless | Modelagem e queries ad hoc | Ruim para domínio relacional rico |

## Consequências

### Positivas
- Invariantes no banco + domínio.
- Outbox transacional natural.
- Caminho para RLS como defesa em profundidade.

### Negativas / riscos
- Travessias de grafo profundas podem exigir store dedicado (ADR-004).
- Ops de vacuum/particionamento necessárias na escala.

### Follow-ups
- [ ] ADR de particionamento de audit e outbox.
- [ ] Avaliar RLS em spike de isolamento.

## Referências

- [Arquitetura Geral](../arquitetura/01-arquitetura-geral.md)
