Melhores Práticas de Tipos de Dados
Escolhas de tipos são decisões de esquema com as quais você convive por anos.
Como Usar Esta Lista
- Decida no design da tabela; evite
ALTERsilencioso que alarga. - Documente em ADR para dinheiro e fuso horário.
A - Escalares
- Use
numericpara dinheiro. Decimais exatos. - Prefira
textsobrevarchara menos que seja restrito. Mesmo desempenho. - Use
bigintpara chaves substitutas em escala. Evite overflow.
B - Tempo e IDs
- Use
timestamptzpara eventos. Armazenamento em UTC. - Use
uuidoubigint identitypara PKs. Escolha um por tabela. - Evite
timestamp without time zone. Tempos locais ambíguos.
C - Semi-estruturados
- Use
jsonbpara facetas opcionais. Não a entidade inteira. - Use GIN apenas para caminhos de consulta comprovados. O custo do índice é real.
- Use
CHECK jsonb_typeofquando a forma importa. Capture escritas ruins cedo.
FAQs
Posso alterar rótulos de enum facilmente?
Renomear é OK; remover valores é difícil. Prefira tabelas de consulta se os rótulos mudam com frequência.
Relacionados
- Noções Básicas de Tipos de Dados - tour
- Melhores Práticas de Design de Esquema - restrições
Versões do Stack: Esta página foi escrita para PostgreSQL 18.4 (estável 18, manutenção 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x e PostGIS 3.5+.