Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как из информации выдаваемой pg_stat_replication узнать название публикации / 7 сообщений из 7, страница 1 из 1
30.01.2022, 17:59
    #40130592
Dmitry_tdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
У меня на сервере N баз данных, у каждой есть своя публикация, а то и несколько.
Требуется организовать мониторинг по конкретно указанной базе или публикации

Название подписки получаю, но на мастере мне это ну совсем не интересно, а вот название публикации то как получить для которой была эта подписка?
...
Рейтинг: 0 / 0
30.01.2022, 20:27
    #40130625
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
...
Рейтинг: 0 / 0
30.01.2022, 20:46
    #40130626
Dmitry_tdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
Melkij, может я не совсем понятно написал.
Речь идет о мастере и соответственно подписок там нет.
Можно запросить список публикаций через pg_publication, но связать этот список с информацией которая выдается pg_stat_replication у меня не получилось.
При этом, на мой взгляд, абсолютно бесполезное на мастере поле application_name в ответе есть(это фактически название подписки на slave'е), а вот очень нужного поля с названием публикации к которой подключена данная подписка - нет.
...
Рейтинг: 0 / 0
30.01.2022, 21:01
    #40130627
Guzya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
В pg_replication_slots есть БД.

Еще такое можно

Код: sql
1.
2.
    -- Слоты логической репликации с процессами репликации. Если pid пустой, рпликация не идет
    select repl.*,slot.* from pg_replication_slots slot left join pg_stat_replication repl on slot.active_pid=repl.pid where slot.slot_type='logical'\gx
...
Рейтинг: 0 / 0
30.01.2022, 21:16
    #40130630
Dmitry_tdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
Guzya, спасибо.
С базой статистику связать удалось, хорошо, что в проекте используется логическая репликация, а вот с публикацией как это сделать?
...
Рейтинг: 0 / 0
31.01.2022, 05:41
    #40130661
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
Dmitry_tdv
Guzya, спасибо.
С базой статистику связать удалось, хорошо, что в проекте используется логическая репликация, а вот с публикацией как это сделать?


Публикация никак на источнике вообще с слотом на источнике же не связана.
Могут быть слоты репликации не привязанные к публикации, могут быть публикации без слота.
И так далее, т.е. такая связь существует только на подписчике (и только он её знает), и это можно на подписчике изменить так что мастер и не узнает по сути.

И соответственно накопление wal в слоте однозначно с конкретной публикацией не может быть связанно используя информацию только на мастере.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
31.01.2022, 10:57
    #40130682
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как из информации выдаваемой pg_stat_replication узнать название публикации
Dmitry_tdv
Melkij, может я не совсем понятно написал.
Речь идет о мастере и соответственно подписок там нет.
Можно запросить список публикаций через pg_publication, но связать этот список с информацией которая выдается pg_stat_replication у меня не получилось.
При этом, на мой взгляд, абсолютно бесполезное на мастере поле application_name в ответе есть(это фактически название подписки на slave'е), а вот очень нужного поля с названием публикации к которой подключена данная подписка - нет.

Да, неверно понял.
pgoutput на стороне публикации, конечно, имеет соответствующий список publication_names под рукой, но никуда этот список не экспортируется на уровень SQL. Т.к. это частная деталь реализации pgoutput плагина logical decoding

application_name в pg_stat_replication - общая штука для физических и логических репликаций, поэтому его экспортировать ничего не стоит. Емнип, его можете задавать сами в строе подключения на стороне подписки.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как из информации выдаваемой pg_stat_replication узнать название публикации / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]