Tengo una pequeña tabla (~ 10 filas) llamada restrictions
en mi base de datos PostgreSQL, donde los valores se eliminan e insertan a diario.
Me gustaría tener una tabla llamada restrictions_deleted
, donde cada fila que se elimina restrictions
se almacenará automáticamente. Como restrictions
tiene una identificación en serie, no habrá duplicados.
¿Cómo escribo tal desencadenante en PostgreSQL?
postgresql
trigger
delete
plpgsql
Adam Matan
fuente
fuente
VALUES((OLD).*)
create function
debe llamarse antescreate trigger
. Y elVALUES((OLD).*)
truco sugerido por KayEss es bueno.Si está abierto a un enfoque diferente, ¿Ha considerado agregar un indicador booleano 'eliminado' a la tabla o una marca de tiempo 'deleted_at' en su lugar?
O mejor aún, niegue el acceso CRUD a las tablas de su base de datos y maneje el seguimiento de auditoría en su API transaccional :)
fuente