Глава 47. Логическое декодирование#

Глава 47. Логическое декодирование

Глава 47. Логическое декодирование

Оглавление

47.1. Примеры логического декодирования
47.2. Концепции логического декодирования
47.2.1. Логическое декодирование
47.2.2. Слоты репликации
47.2.3. Выходные плагины
47.2.4. Экспортированные снимки
47.3. Интерфейс протокола потоковой репликации
47.4. Интерфейс логического декодирования SQL
47.5. Системные каталоги, связанные с логическим декодированием
47.6. Выходные плагины логического декодирования
47.6.1. Функция инициализации
47.6.2. Возможности
47.6.3. Режимы вывода
47.6.4. Вызовы обратного вызова выходного плагина
47.6.5. Функции для создания вывода
47.7. Писатели вывода логического декодирования
47.8. Поддержка синхронной репликации для логического декодирования
47.8.1. Обзор
47.8.2. Ограничения в использовании
47.9. Потоковая передача больших транзакций для логического декодирования
47.10. Поддержка двухфазного коммита для логического декодирования

PostgreSQL предоставляет инфраструктуру для передачи изменений, выполненных с помощью SQL, внешним потребителям. Эта функциональность может использоваться для различных целей, включая репликацию и аудит.

Изменения отправляются в потоки, идентифицированные логическими слотами репликации.

Формат, в котором эти изменения передаются, определяется используемым плагином вывода. Пример плагина предоставляется в дистрибутиве PostgreSQL. Дополнительные плагины могут быть написаны для расширения выбора доступных форматов без изменения какого-либо основного кода. Каждый плагин вывода имеет доступ к каждой отдельной новой строке, созданной командой INSERT, и новой версии строки, созданной командой UPDATE. Доступность старых версий строк для команд UPDATE и DELETE зависит от настроенной идентификации реплики (см. REPLICA IDENTITY).

Изменения можно потреблять с использованием протокола потоковой репликации (см. Раздел 53.4 и Раздел 47.3), или вызывая функции через SQL (см. Раздел 47.4). Также возможно написание дополнительных методов потребления вывода слота репликации без изменения основного кода (см. Раздел 47.7).