Показать отставание репликации
PostgreSQLРепликацияКоманда
SELECT client_addr, state, sent_lsn, replay_lsn, pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn) AS replay_lag_bytes, write_lag, flush_lag, replay_lag FROM pg_stat_replication;Что делает
На primary показывает для каждого standby разрыв воспроизведения в байтах относительно текущей позиции WAL primary, а также задержки write/flush/replay.
Когда использовать
Для мониторинга отставания потоковой репликации (выполнять на primary).
Внимание
Для задержки в секундах на standby: SELECT now() - pg_last_xact_replay_timestamp(); это значение растёт и тогда, когда на primary нет записи, поэтому интерпретируйте его вместе с разрывом LSN. Пустой результат означает, что ни один standby не подключён.
Связанные материалы
- Создать физическую реплику (pg_basebackup)
- Повысить реплику до primary
- Создать и удалить слот репликации
- Настроить публикацию и подписку логической репликации
- Настроить standby вручную (standby.signal + primary_conninfo)
- Мониторинг задержки получения и воспроизведения WAL на standby (pg_stat_wal_receiver)