Closed sgrinko closed 6 years ago
со временем работы запроса разобрался :) это был простой в транзакции... было бы очень хорошо добавить контроль состояния idle in transaction, тогда было бы сразу понятно, что именно происходит.
Добавил поддержку WITH в релизе 0.3.3 - пробуйте. Ситуацию с idle in transaction попытался смоделировать - пока у меня не получилось, чтобы это отражалось на длительности запроса. Опишите сценарий чуть подробней.
спасибо, попробую новую версию... попробую смоделировать...напишу...
Ситуацию с idle in transaction попытался смоделировать - но такая сессия не попадает сейчас в мониторинг. А очень бы хотелось видеть :) Что думаете насчет интерпретации статуса соединения 'idle in transaction' как отдельного статуса ожидания на графике?
Если я правильно понимаю, сессия в статусе idle in transaction не является активной - т.е. она ничего не делает, не потребляет ресурсы сервера (CPU, IO). Она просто ждёт следующей команды от пользователя/приложения. Oracle ASH тоже не показывает такие сессии. Зачем их видеть в списке активных сессий?
сессия в статусе idle in transaction - держит блокировки открытые в ней. Поэтому она мешает работе vacuum и работе других сессий, что может приводить к bloat в таблицах и timeout в других клиентских запросах. Поэтому такие сессии следует тщательно мониторить и разбираться с причинами приводящими к их возникновению. Также это впустую расходование такого ценного ресурса как connect к серверу (для pooling очень важно)
@dbacvetkov так как насчет выделения статуса idle in transaction в отдельный контролируемый цветовой пунктик :) ?
Это достаточно трудоёмко. Может быть если программа станет популярной и появятся ещё желающие добавления такой фичи - у меня появится мотивация)
если программу не развивать - новых пользователей не появится. а могут уйти и те кто пришел в надежде на развитие. можете написать (кратко) в чем сложность?
Закрываю Issue "with + select - unknown type", т.к. задача решена. "idle in transaction" - отдельная тема и вряд ли будет реализовываться, т.к. противоречит принципу активных сессий.
@dbacvetkov по поводу закрытия конкретно данной issue согласен - решено. Но не могу согласиться с вашим высказыванием:
"idle in transaction" - отдельная тема и вряд ли будет реализовываться, т.к. противоречит принципу активных сессий.
ведь инструмент призван помочь в решении проблем с работой сервера...ограничивать его только видением
активных сессий все равно, что смотреть на мир с завязанным одним глазом.
Oracle и Postgres используют разные движки у которых есть свои особенности...не видеть их в упор на мой взгляд очень странно :(
Алгоритм контроля, который хорош в Oracle - не всегда также хорош в Postgres
Использую версию 0.3.2 Версия сервера 10.4
и сам запрос
соответственно нет попыток распознать план!
Да и время работы запроса очень странное, сам запрос работает миллисекунды.