Глава 46. Логическое декодирование#
Глава 46. Логическое декодирование
Оглавление
- 46.1. Примеры логического декодирования
- 46.2. Концепции логического декодирования
- 46.3. Интерфейс протокола потоковой репликации
- 46.4. Интерфейс логического декодирования SQL
- 46.5. Системные каталоги, связанные с логическим декодированием
- 46.6. Выходные плагины логического декодирования
- 46.7. Писатели вывода логического декодирования
- 46.8. Поддержка синхронной репликации для логического декодирования
- 46.9. Потоковая передача больших транзакций для логического декодирования
- 46.10. Поддержка двухфазного коммита для логического декодирования
PostgreSQL предоставляет инфраструктуру для передачи изменений, выполненных с помощью SQL, внешним потребителям. Эта функциональность может использоваться для различных целей, включая репликацию и аудит.
Изменения отправляются в потоки, идентифицированные логическими слотами репликации.
Формат, в котором эти изменения передаются, определяется используемым плагином вывода. Пример плагина предоставляется в дистрибутиве PostgreSQL. Дополнительные плагины могут быть написаны для расширения выбора доступных форматов без изменения какого-либо основного кода. Каждый плагин вывода имеет доступ к каждой отдельной новой строке, созданной командой INSERT
, и новой версии строки, созданной командой UPDATE
. Доступность старых версий строк для команд UPDATE
и DELETE
зависит от настроенной идентификации реплики (см. REPLICA IDENTITY
).
Изменения можно потреблять с использованием протокола потоковой репликации (см. Раздел 52.4 и Раздел 46.3), или вызывая функции через SQL (см. Раздел 46.4). Также возможно написание дополнительных методов потребления вывода слота репликации без изменения основного кода (см. Раздел 46.7).