#postgresql #database-administration #postgresql-11 #amazon-aurora #logical-replication
#postgresql #администрирование базы данных #postgresql-11 #amazon-aurora #логическая репликация
Вопрос:
У меня работает логическая репликация в нескольких средах PostgreSQL. Мне нужно настроить некоторый механизм оповещения, при котором я получаю предупреждение, если по какой-либо причине произошла ошибка одной из моих логических репликаций. Как я могу этого добиться? Я знаю об этих представлениях, в каком столбце я могу использовать класс where для обнаружения сбоя?
pg_stat_replication, Pg_publication_tables, Pg_replication_slots, pg_stat_subscription, pg_subscription_rel
Дайте мне знать, заранее спасибо!
Ответ №1:
Использование
SELECT max(pg_lsn_diff(
pg_current_wal_lsn(),
replay_lsn
))
FROM pg_stat_replication;
Это покажет вам, на сколько байтов отстает резервный сервер с наибольшей задержкой.
Комментарии:
1. Должно ли это также работать для логической репликации? В моем экземпляре Postgres 11 все столбцы, кроме pid, usesysid, usename, application_name, равны нулю, даже если у меня активная логическая репликация
2. Я думаю, это только для потоковой репликации.