У меня есть маленькая (~ 10 строк) таблица, вызываемая restrictions
в моей базе данных PostgreSQL, где значения удаляются и вставляются ежедневно.
Я хотел бы иметь таблицу с именем restrictions_deleted
, где каждая строка, которая удаляется изrestrictions
будет сохранена автоматически. Так как restrictions
имеет серийный идентификатор, дубликатов не будет.
Как мне написать такой триггер в PostgreSQL?
postgresql
trigger
delete
plpgsql
Адам Матан
источник
источник
VALUES((OLD).*)
create function
нужно позвонить раньшеcreate trigger
. ИVALUES((OLD).*)
трюк, предложенный KayEss, хорош.Если вы открыты для другого подхода, рассматривали ли вы вопрос о добавлении в таблицу «удаленного» логического флага или вместо него временной метки «Удалено».
Или, что еще лучше, запретите CRUD доступ к таблицам вашей базы данных и обработайте контрольный журнал в своем транзакционном API :)
источник