Глава 47. Логическое декодирование#
Глава 47. Логическое декодирование
Оглавление
- 47.1. Примеры логического декодирования
- 47.2. Концепции логического декодирования
- 47.3. Интерфейс протокола потоковой репликации
- 47.4. Интерфейс логического декодирования SQL
- 47.5. Системные каталоги, связанные с логическим декодированием
- 47.6. Выходные плагины логического декодирования
- 47.7. Писатели вывода логического декодирования
- 47.8. Поддержка синхронной репликации для логического декодирования
- 47.9. Потоковая передача больших транзакций для логического декодирования
- 47.10. Поддержка двухфазного коммита для логического декодирования
PostgreSQL предоставляет инфраструктуру для передачи изменений, выполненных с помощью SQL, внешним потребителям. Эта функциональность может использоваться для различных целей, включая репликацию и аудит.
Изменения отправляются в потоки, идентифицированные логическими слотами репликации.
Формат, в котором эти изменения передаются, определяется используемым плагином вывода. Пример плагина предоставляется в дистрибутиве PostgreSQL. Дополнительные плагины могут быть написаны для расширения выбора доступных форматов без изменения какого-либо основного кода. Каждый плагин вывода имеет доступ к каждой отдельной новой строке, созданной командой INSERT
, и новой версии строки, созданной командой UPDATE
. Доступность старых версий строк для команд UPDATE
и DELETE
зависит от настроенной идентификации реплики (см. REPLICA IDENTITY
).
Изменения можно потреблять с использованием протокола потоковой репликации (см. Раздел 53.4 и Раздел 47.3), или вызывая функции через SQL (см. Раздел 47.4). Также возможно написание дополнительных методов потребления вывода слота репликации без изменения основного кода (см. Раздел 47.7).