Triggers de Auditoría
Los triggers de auditoría capturan quién cambió qué. Diseña para el rendimiento de escritura: filas de auditoría delgadas, exportación asíncrona o tablas de transición a nivel de sentencia para cargas masivas.
Cómo Usar Esta Lista de Verificación
- Ejecuta la lista de verificación antes de habilitar la auditoría en tablas activas.
- Mide el P95 de INSERT con el trigger activado en staging.
- Prefiere
WHENa nivel de columna para reducir el ruido.
Esquema
- La tabla de auditoría es de solo anexión. Sin
UPDATE/DELETEen filas de auditoría. - Almacena actor, acción, clave primaria (pk),
changed_at. Opcional diffjsonbantiguo/nuevo. - Indexa la auditoría por
table_name,pk,changed_at. Investigaciones consultables.
Diseño del Trigger
- Elección de
BEFORE/AFTERdocumentada.AFTERpara inserción de auditoría inmutable. - Trigger de sentencia para cargas masivas. Las tablas de transición evitan el costo por fila.
- Cláusula
WHENomite actualizaciones no modificadas.IS DISTINCT FROMen columnas rastreadas.
Operaciones
- Particiona o archiva la auditoría por mes. Evita el crecimiento ilimitado.
- Monitoriza la hinchazón de la tabla de auditoría. Ajuste de
autovacuum. - Compara con
pgauditpara cumplimiento. Triggers para detalle de fila;pgauditpara captura de sesión.
Preguntas Frecuentes
¿Triggers vs replicación lógica para auditoría?
La replicación captura cambios aguas abajo; los triggers capturan en la base de datos con contexto de negocio.
Relacionados
- Tablas de Transición - captura masiva
- Triggers de Auditoría vs pgaudit - elección de cumplimiento
Versiones de Stack: Esta página fue escrita para PostgreSQL 18.4 (estable 18, mantenimiento 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x, y PostGIS 3.5+.