powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопросы про системную вьюху. записи DISCARD ALL
7 сообщений из 7, страница 1 из 1
Вопросы про системную вьюху. записи DISCARD ALL
    #39264471
fduch f.f.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использую системную вьюху pg_stat_activity

в столбце где отображаются текты запросов в некоторых случаях вижу DISCARD ALL
не могу монять что это обозначает. В документации подробного обьяснения не нашел. понял только что вроде связано с пулом подключений
подскажите плиз, насколько это плохо и что нужно делать что бы исправить
...
Рейтинг: 0 / 0
Вопросы про системную вьюху. записи DISCARD ALL
    #39264477
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fduch f.f.использую системную вьюху pg_stat_activity

в столбце где отображаются текты запросов в некоторых случаях вижу DISCARD ALL
не могу монять что это обозначает. В документации подробного обьяснения не нашел. понял только что вроде связано с пулом подключений
подскажите плиз, насколько это плохо и что нужно делать что бы исправить

1)а чем он вам мешает?
2)просто установленное соединение которое ничего не делает оно конечно не очень радует но ничего фатального в этом нет пока их не сотни
3)discard all легкая и быстрая операция (относительно конечно)
4)вы на колонку state то смотрите в выводе запроса? там 100% у вас состояние idle (и никакого запроса в данный момент не выполняется)
5)это от pgbouncer скорее всего, в конфиге стоит server_reset_query=DISCARD ALL что зачастую является лишним (и для transaction/statement pooling не рекомендуется к использованию)

В общем основная проблема - вы неверно трактуете вывод pg_stat_activity думая что query этот тот запрос который сейчас выполняется, а это не так если state!='active'.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Вопросы про системную вьюху. записи DISCARD ALL
    #39264483
fduch f.f.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Bogukfduch f.f.использую системную вьюху pg_stat_activity

в столбце где отображаются текты запросов в некоторых случаях вижу DISCARD ALL
не могу монять что это обозначает. В документации подробного обьяснения не нашел. понял только что вроде связано с пулом подключений
подскажите плиз, насколько это плохо и что нужно делать что бы исправить

1)а чем он вам мешает?
2)просто установленное соединение которое ничего не делает оно конечно не очень радует но ничего фатального в этом нет пока их не сотни
3)discard all легкая и быстрая операция (относительно конечно)
4)вы на колонку state то смотрите в выводе запроса? там 100% у вас состояние idle (и никакого запроса в данный момент не выполняется)
5)это от pgbouncer скорее всего, в конфиге стоит server_reset_query=DISCARD ALL что зачастую является лишним (и для transaction/statement pooling не рекомендуется к использованию)

В общем основная проблема - вы неверно трактуете вывод pg_stat_activity думая что query этот тот запрос который сейчас выполняется, а это не так если state!='active'.

--
Maxim Boguk
www.postgresql-consulting.ru

Спасибо за ответ!

вопрос появился по следующей причине
к серверу приходит много коротких запросов
иногда возникают ситуации когда эти запросы отваливаются по таймауту
причем во вьюхе pg_stat_activity я не виду заблокированных или долгих active запросов
в то же время есть десятки запросов idle и некоторые из них DISCARD ALL
пытаюсь выяснить причину таймаютов
подозреваю что это из-за наличия незакрытых подключений
...
Рейтинг: 0 / 0
Вопросы про системную вьюху. записи DISCARD ALL
    #39264488
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fduch f.f.Maxim Bogukпропущено...


1)а чем он вам мешает?
2)просто установленное соединение которое ничего не делает оно конечно не очень радует но ничего фатального в этом нет пока их не сотни
3)discard all легкая и быстрая операция (относительно конечно)
4)вы на колонку state то смотрите в выводе запроса? там 100% у вас состояние idle (и никакого запроса в данный момент не выполняется)
5)это от pgbouncer скорее всего, в конфиге стоит server_reset_query=DISCARD ALL что зачастую является лишним (и для transaction/statement pooling не рекомендуется к использованию)

В общем основная проблема - вы неверно трактуете вывод pg_stat_activity думая что query этот тот запрос который сейчас выполняется, а это не так если state!='active'.

--
Maxim Boguk
www.postgresql-consulting.ru

Спасибо за ответ!

вопрос появился по следующей причине
к серверу приходит много коротких запросов
иногда возникают ситуации когда эти запросы отваливаются по таймауту
причем во вьюхе pg_stat_activity я не виду заблокированных или долгих active запросов
в то же время есть десятки запросов idle и некоторые из них DISCARD ALL
пытаюсь выяснить причину таймаютов
подозреваю что это из-за наличия незакрытых подключений

Если у вас по пути pgbouncer возможно стоит внутри его статистики смотреть.
Может у вас весь пул занят idle in transaction (а это не тоже самое что idle которые можно reuse).

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Вопросы про системную вьюху. записи DISCARD ALL
    #39264527
fduch f.f.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к коду приложения нет доступа, но pgbouncer точно не используется
состояние именно idle

может ли такое быть что эти idle подключения мешают созданию новых подключений и от этого таймауты?
...
Рейтинг: 0 / 0
Вопросы про системную вьюху. записи DISCARD ALL
    #39264552
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fduch f.f.к коду приложения нет доступа, но pgbouncer точно не используется
состояние именно idle

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

Могут мешать минимум 2 методами:
Вариант 1 - заканчивается лимит коннектов к базе из за этих idle соединений (это должно быть в логе базы видно)
Вариант 2 - заканчивается какой то внутренний пул коннектов в приложении

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Вопросы про системную вьюху. записи DISCARD ALL
    #39278172
aorashi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DISCARD ALL
в контексте балансировщиков это возврат соединения в пул после выполнения запроса
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопросы про системную вьюху. записи DISCARD ALL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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