×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

3.14.8. Архитектура

3.14.8.1. Начальный снимок

Логическая репликация начинается с копирования моментального снимка данных из базы данных издателя. По завершении этого этапа изменения на издателе передаются подписчику в режиме реального времени по мере их возникновения. Подписчик применяет данные в том же порядке, в котором фиксировались транзакции на издателе, что гарантирует согласованность транзакций для публикаций в рамках любой отдельной подписки.

Логическая репликация построена на архитектуре, аналогичной физической потоковой репликации (см. Раздел 3.11.2.5). Она реализуется с помощью walsender и apply процессов. Процесс walsender запускает логическое декодирование (описанное в Глава 5.12) журнала WAL и загружает стандартный плагин вывода логического декодирования (pgoutput). Данный плагин преобразует изменения, считанные из WAL, в формат протокола логической репликации (см. Раздел 7.4.5) и фильтрует данные в соответствии со спецификацией публикации. Затем данные непрерывно передаются по протоколу потоковой репликации рабочему процессу apply, который сопоставляет данные с локальными таблицами и применяет отдельные изменения в порядке их получения с соблюдением согласованности транзакций.

Процесс применения в базе данных подписчика всегда запускается с параметром session_replication_role установленным в значение replica. Это означает, что по умолчанию триггеры и правила на стороне подписчика не срабатывают. Пользователи могут дополнительно включить триггеры и правила для таблицы, используя ALTER TABLE команду и ENABLE TRIGGER и ENABLE RULE предложения.

Процесс применения логической репликации в настоящее время вызывает только триггеры уровня строк, а не триггеры уровня операторов. Однако начальная синхронизация таблицы реализована подобно команде COPY и, следовательно, вызывает триггеры как уровня строк, так и уровня операторов для INSERT.

3.14.8.1. Начальный снимок #

Начальные данные в существующих таблицах, на которые оформлена подписка, фиксируются в виде снимка и копируются в параллельном экземпляре специального типа процесса применения. Данный процесс создает собственный слот репликации и копирует существующие данные. Как только копирование завершается, содержимое таблицы становится видимым для других фоновых процессов. После копирования существующих данных рабочий процесс переходит в режим синхронизации, который обеспечивает приведение таблицы в согласованное состояние с основным процессом применения путем потоковой передачи любых изменений, произошедших во время начального копирования данных с использованием стандартной логической репликации. В ходе фазы синхронизации изменения применяются и фиксируются в том же порядке, в котором они выполнялись на издателе. По завершении синхронизации управление репликацией таблицы возвращается основному процессу применения, после чего репликация продолжается в штатном режиме.

Примечание

Публикация «публикация» параметр определяет только то, какие операции DML будут реплицироваться. При начальной синхронизации данных этот параметр не учитывается во время копирования существующего содержимого таблиц.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению