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

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

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

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

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

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

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

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

5.12.8. Поддержка синхронной репликации при логическом декодировании

5.12.8.1. Обзор
5.12.8.2. Предостережения

5.12.8.1. Обзор #

Логическое декодирование может применяться для создания решений синхронной репликации с тем же пользовательским интерфейсом, что и у синхронной репликации для потоковой репликации . Для этого должен использоваться интерфейс потоковой репликации (см. Раздел 5.12.3 ) для потоковой передачи данных. Клиенты должны отправлять сообщения «Обновление статуса резервного сервера (F)» (см. Раздел 7.4.4 ), аналогично клиентам потоковой репликации.

Примечание

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

5.12.8.2. Предостережения #

В конфигурации с синхронной репликацией может возникнуть взаимоблокировка (deadlock), если транзакция эксклюзивно заблокировала пользовательские таблицы каталога. См. Раздел 5.12.6.2 для получения информации о пользовательских таблицах каталога. Это обусловлено тем, что логическое декодирование транзакций может блокировать таблицы каталога для доступа к ним. Чтобы избежать этого, пользователи должны воздерживаться от наложения исключительной блокировки на [пользовательские] таблицы каталога. Это может произойти следующими способами:

  • Выполнение явной команды LOCK для pg_class в рамках транзакции.

  • Выполнение команды CLUSTER для pg_class в транзакции.

  • PREPARE TRANSACTION после LOCK команды для pg_class и разрешить логическое декодирование двухфазных транзакций.

  • PREPARE TRANSACTION после CLUSTER команды для pg_trigger и разрешить логическое декодирование двухфазные транзакции. Это приведет к взаимоблокировке только в том случае, если опубликованная таблица имеет триггер.

  • Выполнение TRUNCATE операции над таблицей каталога [user] в транзакции.

Обратите внимание, что эти команды могут вызывать взаимоблокировки не только в системных таблицах каталога, перечисленных выше, но и в других таблицах каталога.

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

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