Skip to content
EN
sql PostgreSQL · SQL

PostgreSQL replication lag alert

Нужно ловить момент, когда реплика начала отставать от мастера больше чем на 10 секунд.

  • 7 строк
  • MIT лицензия — берите как есть
  • HTTP monitor → то же без кода

Рецепт

sql
-- На standby-реплике; экспонировать как HTTP endpoint и мониторить
SELECT
  CASE WHEN pg_is_in_recovery()
       AND EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp())) > 10
    THEN 'lag'
    ELSE 'ok'
  END AS status;

То же самое в Enterno.io

Оберните SQL в HTTP-эндпойнт (/replication-status → "ok"/"lag") и направьте HTTP-монитор Enterno на него — alert-правило "не 200 или тело ≠ ok".

Настроить HTTP monitor → ← Все рецепты

  • postgres
  • sql
  • replication

Похожие рецепты