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

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

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

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

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

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

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