Gatilhos de Auditoria
Gatilhos de auditoria capturam quem alterou o quê. Projetados para taxa de transferência de gravação: linhas de auditoria finas, exportação assíncrona ou tabelas de transição em nível de instrução para operações em lote.
Como Usar Esta Lista de Verificação
- Execute a lista de verificação antes de habilitar a auditoria em tabelas de alto tráfego.
- Meça o p95 de INSERT com o gatilho ativado em staging.
- Prefira
WHENem nível de coluna para reduzir o ruído.
Esquema
- Tabela de auditoria é somente anexação (append-only). Sem UPDATE/DELETE em linhas de auditoria.
- Armazene ator, ação, pk, changed_at. Opcional diff jsonb antigo/novo.
- Indexe a auditoria por table_name, pk, changed_at. Investigações consultáveis.
Design do Gatilho
- Escolha BEFORE/AFTER documentada. AFTER para inserção de auditoria imutável.
- Gatilho de instrução para cargas em lote. Tabelas de transição evitam custo por linha.
- Cláusula WHEN pula atualizações inalteradas.
IS DISTINCT FROMem colunas rastreadas.
Operações
- Particione ou arquive a auditoria por mês. Evita crescimento ilimitado.
- Monitore o inchaço da tabela de auditoria. Ajuste do Autovacuum.
- Compare com pgaudit para conformidade. Gatilhos para detalhes de linha; pgaudit para captura de sessão.
FAQs
Gatilhos vs. replicação lógica para auditoria?
A replicação captura alterações downstream; gatilhos capturam no banco de dados com contexto de negócios.
Relacionados
- Tabelas de Transição - captura em lote
- Gatilhos de Auditoria vs pgaudit - escolha de conformidade
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+.