Наша логическая репликация недавно прекратилась из-за ключевых конфликтов - wals снижались, но не применялись. Я хотел бы настроить некоторый мониторинг, чтобы я мог получать уведомления, когда это происходит, но я не был уверен, какие поля использовать.
Я думаю, что должен иметь возможность использовать представление pg_stat_subscription, но я не совсем точно понял из его описания , что именно представляют его столбцы.
Могу ли я сравнить источник pg_current_wal_lsn () к pg_stat_subscription.received_lsn реплики, чтобы убедиться, что данные поступают?
received_lsn pg_lsn Last write-ahead log location received, the initial value of this field being 0
И сравнил бы pg_stat_subscription.received_lsn реплики с ее pg_stat_subscription.latest_end_lsn, дайте мне знать, если данные воспроизводятся?
latest_end_lsn pg_lsn Last write-ahead log location reported to origin WAL sender
Это последний вопрос, который я больше всего не знаете, означает ли «отправитель WAL отправителя сообщения», что реплика была успешно воспроизведена на реплике? Или есть какое-то другое поле, которое мне нужно использовать, чтобы узнать, насколько успешно реплика применила изменения из исходной базы данных?