15
Ограничения
Не реплицируются
команды DDL
значения последовательностей
большие объекты (lo)
изменения материализованных представлений, сторонних таблиц,
секционированных таблиц
Могут вызвать проблемы
массовые изменения данных
изменения, сделанные долгими транзакциями
Не поддерживаются
автоматическое разрешение конфликтов
двунаправленная репликация одной и той же таблицы
Логическая репликация имеет довольно много ограничений.
Не реплицируются команды DDL — все изменения схемы данных надо
переносить вручную. До версии 11 не реплицировалась также команда
TRUNCATE. Не реплицируются большие объекты (large objects).
Реплицироваться могут только обычные базовые таблицы. Т. е. нельзя
реплицировать материализованные представления, сторонние и
секционированные таблицы (но можно — отдельные секции).
Не реплицируются значения последовательностей. Это означает, что
если сервер-подписчик добавляет строки в таблицу с суррогатным
уникальным ключом, для которой настроена репликация, возможны
конфликты. Конфликтов можно избежать, выделяя двум серверам
разные диапазоны значений последовательностей, или используя
вместо них универсальные уникальные идентификаторы (UUID).
При выполнении на публикующем сервере одной команды SQL,
затрагивающей много строк, изменения все равно реплицируются
построчно, что приводит к повышенной нагрузке на подписчик.
Текущая реализация не очень хорошо справляется с долгими
транзакциями. Они увеличивают нагрузку на публикующий сервер.
И, как уже говорилось, нет возможности автоматического разрешения
конфликтов и двунаправленной репликации одних и тех же таблиц.
Эти ограничения уменьшают применимость логической репликации.