Я делал это несколько раз в PostgreSQL, используя отдельную схему и триггеры «history».
Таблицы в схеме «history» идентичны реальным таблицам, но с добавлением history_id
PK и отметки времени события,Таблицы из схемы «история» не имеют никаких ограничений.Также вам нужно создать поле для действия, если вам также нужно отслеживать удаление.
В postgreSQL вы можете легко создать такую таблицу, используя такой оператор CREATE
:
CREATE TABLE history.tbl AS
(history_id BIGSERIAL PRIMARY KEY,
event_time TIMESTAMP DEFAULT NOW(),
action CHAR(1),
LIKE public.tpl);
После этого выдолжен создать триггер, который будет вставлять в таблицу истории при вставке, обновлении, удалении.