Глава 51. Логическое декодирование
Содержание
- 51.1. Примеры логического декодирования
- 51.2. Концепции логического декодирования
- 51.3. Интерфейс протокола потоковой репликации
- 51.4. Интерфейс логического декодирования на уровне SQL
- 51.5. Системные каталоги, связанные с логическим декодированием
- 51.6. Модули вывода логического декодирования
- 51.4. Интерфейс логического декодирования на уровне SQL
- 51.7. Запись вывода логического декодирования
- 51.8. Поддержка синхронной репликации для логического декодирования
- 51.9. Передача больших транзакций для логического декодирования
- 51.10. Поддержка двухфазной фиксации для логического декодирования
Postgres Pro обеспечивает инфраструктуру для потоковой передачи изменений, выполняемых через SQL, внешним потребителям. Эта функциональность может быть полезна для самых разных целей, включая аудит и реализацию репликации.
Изменения передаются в потоках, связываемых со слотами логической репликации.
Формат, в котором передаются изменения, определяет используемый модуль вывода. Пример модуля вывода включён в дистрибутив Postgres Pro. Также возможно разработать и другие модули, расширяющие выбор доступных форматов, не затрагивая код ядра самого сервера. Любой модуль вывода получает на вход отдельные строки, создаваемые командой INSERT
, и новые версии строк, которые создаёт UPDATE
. Доступность старых версий строк для UPDATE
и DELETE
зависит от выбора варианта идентификации реплики (см. описание REPLICA IDENTITY
).
Изменения могут быть получены либо по протоколу потоковой репликации (см. Раздел 55.4 и Раздел 51.3), либо через функции, вызываемые в SQL (см. Раздел 51.4). Также возможно разработать дополнительные методы для обработки данных, поступающих через слот репликации, не модифицируя код ядра сервера (см. Раздел 51.7).