У мене є пакетний запит, який я щодня запускаю у своїй базі даних. Однак, схоже, він застряг у непрацюючому стані, і у мене виникають великі труднощі з налагодженням того, що відбувається.
Запит - це агрегація таблиці, яка одночасно вставляється, і, напевно, якимось чином стосується проблеми. (Сукупність даних за попередніми днями, тому вставки не повинні впливати на результати.)
Підказки
Я запускаю це всередині сценарію python, використовуючи sqlalchemy. Однак я встановив рівень транзакції для автоматичного здійснення комісії, тому не думаю, що все відбувається в транзакції. З іншого боку, я не бачу звисання запиту, коли запускаю його вручну в терміналі sql.
Запитуючи
pg_stat_activity, запит спочатку надходить у базу даних якstate='active'. Можливо, через 15 секунд стан змінюється на "непрацюючий", а також додатковоxact_startвстановлюється значенняNULL. Прапор очікування ніколи не встановлюється істинним.Перш ніж я розібрався в автокомісії рівня транзакцій для sqlalchemy, він замість цього висить у стані,
'idle in transaction'а не'idle'. І, можливо, висить трохи рідше з моменту внесення цієї зміни?
Я відчуваю, що я не готовий копати глибше, ніж у мене на цьому. Будемо дуже вдячні за будь-які відгуки, навіть пояснення більше про різні стани та відповідні внутрішні постгреси, не даючи однозначної відповіді.
COMMITдля завершення транзакції не було видано жодного запиту . Здається, що ваша проблема може бути деінде ..