Предоставляет ли PostgreSQL функцию отслеживания изменений, аналогичную отслеживанию изменений SQL Server?

#sql #postgresql #change-data-capture

#sql #postgresql #изменение-захват данных

Вопрос:

Предоставляет ли PostgreSQL функцию отслеживания изменений, подобную функции на SQL Server. это то, чего я в основном хочу. Я хочу переместить свои данные через несколько минут в другую базу данных. для этого я просто хочу получать измененные данные только в PGSQL с помощью отслеживания изменений, подобного отслеживанию изменений SQL Server. Каков наилучший способ добиться этого?

Комментарии:

1. postgresql.org/docs/current/logicaldecoding.html

Ответ №1:

С PostgreSQL это не так просто. Вы можете использовать WAL, он же Write Ahead Logs или триггеры. Может быть, лучшим подходом будет использование внешней библиотеки, такой как https://debezium.io

Комментарии:

1. вам не нужно самостоятельно читать архивы WAL. Вы можете использовать логическое декодирование

Ответ №2:

Я пытаюсь достичь той же цели. Это то, что я нашел в Интернете. Существует несколько возможных подходов:

  • Потоковая репликация (отправляет двоичный журнал изменений на резервный сервер)
  • Slony (использует триггеры для накопления изменений DML в таблицах, которые периодически отправляются на резервные серверы)
  • Логическое протоколирование изменений
  • Триггер аудита 91plus

Комментарии:

1. Привет, какой вы предложите наилучший способ из всех этих способов, я думаю, что перемещение данных на резервном сервере с помощью Slony может быть хорошим, поскольку затем я могу использовать эти отслеживания в резервной базе данных для перемещения измененных данных на sql server с помощью запущенного приложения, т.е. Windowsсервис