Viji
@Viji
Associate DevOps Engineer

Что лучше использовать для нахождения количества активных соединений с базой?

Видел эту

postgres=> SELECT numbackends FROM pg_stat_database WHERE datname = 'my_super_db';

И эту

postgres=> SELECT count(*) FROM pg_stat_activity WHERE datname = 'my_super_db;

Как по вашему опыту? PostgreSQL 12.
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Без разницы. У них один и тот же источник данных. Можно и напрямую pg_stat_get_db_numbackends(oid) вызвать.

В production для мониторинга обычно используется pg_stat_activity чтобы сразу забрать группировку по статусам backend'ов, длительность активных транзакций. Ну и скорее всего только client backend будут интересны на этом графике (ну возможно ещё с parallel worker'ами). Для процессов autovacuum удобнее отдельный график иметь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы