/main/long-queries-pg-debug

Дебаг долгих запросов в PG

Определяем долгие запросы:

SELECT
  pid,
  user,
  pg_stat_activity.query_start,
  now() - pg_stat_activity.query_start AS query_time,
  query,
  state,
  wait_event_type,
  wait_event
FROM pg_stat_activity
WHERE (now() - pg_stat_activity.query_start) > interval '5 minutes';


Убиваем:

select pg_cancel_backend(pid);
select pg_terminate_backend(pid);


Кто кого блокирует:

SELECT
    activity.pid,
    activity.usename,
    activity.query,
    blocking.pid AS blocking_id,
    blocking.query AS blocking_query
FROM pg_stat_activity AS activity
JOIN pg_stat_activity AS blocking ON blocking.pid = ANY(pg_blocking_pids(activity.pid));


Взято отсюда



26.05.2025
/main/long-queries-pg-debug