Current section

Files

Jump to
ecto_psql_extras lib queries long_running_queries.ex
Raw

lib/queries/long_running_queries.ex

defmodule EctoPSQLExtras.LongRunningQueries do
@behaviour EctoPSQLExtras
def info do
%{
title: "All queries longer than five minutes by descending duration",
columns: [
%{name: :pid, type: :int},
%{name: :duration, type: :interval},
%{name: :query, type: :string}
]
}
end
def query do
"""
/* All queries longer than five minutes by descending duration */
SELECT
pid,
now() - pg_stat_activity.query_start AS duration,
query AS query
FROM
pg_stat_activity
WHERE
pg_stat_activity.query <> ''::text
AND state <> 'idle'
AND now() - pg_stat_activity.query_start > interval '5 minutes'
ORDER BY
now() - pg_stat_activity.query_start DESC;
"""
end
end