Sobes.tech
Middle
18

Как найти запросы в PostgreSQL, которые выполняются больше одной минуты (или 5 секунд)?

Компании, где спрашивали
ТБанк

Ответ от нейросети

sobes.tech AI

В PostgreSQL можно найти долгие запросы, используя представление pg_stat_activity, которое показывает текущие активные запросы. Например, чтобы найти запросы, выполняющиеся дольше 5 секунд, можно выполнить такой запрос:

SELECT pid, now() - query_start AS duration, query
FROM pg_stat_activity
WHERE state = 'active'
  AND now() - query_start > interval '5 seconds'
ORDER BY duration DESC;

Если нужно искать запросы дольше одной минуты, замените '5 seconds' на '1 minute'.

Этот запрос покажет идентификатор процесса, длительность выполнения и сам текст запроса. Для мониторинга можно настроить регулярный запуск или использовать инструменты мониторинга, которые собирают такую статистику.