Packages
Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.
Current section
Files
Jump to
Current section
Files
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",
order_by: [duration: :desc],
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