Melhores Práticas para Triggers
Triggers são ferramentas poderosas. Prefira lógica de aplicação, a menos que o banco de dados precise ser a última linha de defesa.
Como Usar Esta Lista
- Exija uma nota de design na migração para novos triggers.
- Teste de carga no caminho de escrita com triggers habilitados.
A - Escopo
- Corpos de trigger minúsculos. Delegue para funções, mas mantenha a lógica mínima.
- Cláusula WHEN para limitar execuções. Pule atualizações que não fazem nada (no-op).
- Evite cadeias entre muitas tabelas. O gráfico de triggers é difícil de depurar.
B - Desempenho
- Triggers de instrução para operações em massa. Transfira tabelas.
- Sem chamadas remotas em triggers. Use o padrão outbox.
- Desabilite durante a manutenção em massa. Reabilite no mesmo ticket de alteração.
C - Governança
- Nomeie triggers de forma consistente.
tr_<tabela>_<ação>_<propósito>. - Testes para o comportamento do trigger. Fixtures de rollback.
- Planeje o caminho de remoção. Triggers sobrevivem aos aplicativos se esquecidos.
FAQs
Trigger `updated_at` ainda é aceitável?
Sim, é comum e pequeno; colunas GENERATED são uma alternativa em fluxos de trabalho do PG 18.
Relacionados
- Noções Básicas de Triggers - sintaxe
- Quando Não Usar Triggers - alternativas
Versões da 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+.