Как реализовать Аудит/управление версиями Модификаций Таблицы на PostgreSQL

Мы реализуем Новую систему с помощью Java/Spring/быть в спящем режиме на PostgreSQL. Эта система должна сделать копию Каждой Записи, как только модификация/удаление сделана на записи (записях) в Таблицах (таблицах). Позже, Контрольная Таблица (таблицы) будет запрошена Отчетами отобразить данные пользователям.

Я планировал реализовать эту опцию аудита/управления версиями при наличии триггера на таблице (таблицах), которая сделает копию измененной строки (удаленная строка) "К" ТАБЛИЦЕ под названием ENTITY_VERSIONS, который имел бы приблизительно 20 столбцов названными col1, col2, col3, col4, и т.д. который сохранит столбцы из приведенной выше таблицы; Однако проблема состоит в том что, если существует больше чем 1 Таблица, которая будет имеющей версию и таблица ONLY 1 TARGET (ENTITY_VERSIONS) для хранения версий всех таблиц, как я разрабатываю таблицу TARGET?

ИЛИ это лучше, что будет КОПИЯ Таблицы ВЕРСИИ для каждой Таблицы, которой нужно управление версиями?

Это будет премия, если некоторые указатели к Триггерам PostgreSQL (и связанная Хранимая процедура) код для реализации аудита/управления версиями могут быть совместно использованы.

P.S.: Я посмотрел на Предложения для реализации контрольных таблиц в SQL Server? и отчасти как ответ кроме я НЕ знал бы, каковы тип OldValue и NewValue должны быть?

P.P.S: Если использование Таблиц, которое УДАЛЯЕТ SOFT (фантом удаляет) вместо ТВЕРДОГО удаляет, какой-либо Ваш совет изменяется?

7
задан Community 23 May 2017 в 12:11
поделиться

1 ответ

Я хотел бы иметь копию каждой таблицы для хранения версий этой таблицы, которые вы хотите сохранить. Это похоже на кошмар - поддерживать и использовать глобальную таблицу управления версиями.

Эта ссылка в документации Postgres показывает некоторые примеры триггеров аудита в Postgres.

4
ответ дан 7 December 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: