Как возникает задержка

В PostgreSQL физическая репликация передает записи WAL на standby. При асинхронном режиме primary не обязан ждать, пока узел-копия получит и применит каждую запись. Копия отстает. Размер lag меняется вместе с нагрузкой, сетью и скоростью чтения WAL.

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

Что показывает lag

В PostgreSQL представление pg_stat_replication показывает состояние подключенных standby и временные показатели передачи, записи, сброса и применения WAL. replay_lag помогает оценить задержку до появления свежих изменений в запросах на резервном узле. Это не обещание постоянной точности: если активности нет, отдельные значения могут стать NULL.

Для эксплуатации проверяйте состояние соединения, очередь WAL, свободное место и время переключения. Не полагайтесь на один индикатор. Read-only standby может обслуживать чтение, но клиент должен учитывать отставание: свежая запись иногда еще не видна на копии. Для проверки плана отказа используйте тестовый стенд, а не рабочую базу.

Синхронный режим задает другой компромисс: подтверждение записи может ждать от выбранного standby сигнал о получении или применении WAL. Это добавляет зависимость от сети и доступности копии. Настройка определяется политикой базы и допустимой задержкой.

Реплика не заменяет backup

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

Асинхронность не равна ошибке конфигурации: это компромисс между временем ответа и гарантией синхронного подтверждения. Смотрите резервную копию, RPO, RTO и базы данных. Использованы официальные документы PostgreSQL 18, проверенные 8 октября 2026 года; репликационные показатели не снимались.