13
Ограничения
Изоляция и многоверсионность
большое число точек сохранения задерживает выполнение запросов
не поддерживается уровень изоляции serializable
Триггеры и блокировки
триггеры и пользовательские блокировки (advisory locks) не работают
Резервное копирование с реплики
параметр full_page_writes должен быть заранее включен на мастере
задержки из-за ожидания контрольной точки и переключения сегментов
Изменение табличных пространств
каталоги на реплике нужно создавать заранее, так как прав пользователя
ОС postgres может не хватить
У репликации есть ряд ограничений и особенностей.
Если на мастере выполняется транзакция с числом вложенных
транзакций > 64 (то есть активно используются точки сохранения),
создание снимка на реплике будет приостановлено — это означает
невозможность некоторое время выполнять запросы.
Не поддерживается уровень изоляции serializable на реплике.
Триггеры не будут срабатывать на реплике (они выполнились на
мастере и реплицируется уже результат их работы). Не будут работать
и рекомендательные (advisory) блокировки.
При выполнении резервного копирования с реплики нет технической
возможности полноценно управлять мастером, в частности, вызывать
контрольные точки и включать параметр full_page_writes. Поэтому
параметр нужно включить на мастере заранее, а контрольную точку
приходится ждать (что может существенно задержать процесс).
Создание табличных пространств реплицируется, но, если у
пользователя ОС, под которым работает СУБД, недостаточно прав для
создания каталога, произойдет ошибка. Лучше всего сначала создать
каталоги на мастере и на всех репликах, а уже затем выполнять
команду CREATE TABLESPACE.