From 341b02cee9151d527d7ade641b2a51993c951471 Mon Sep 17 00:00:00 2001 From: Alexey Ermakov Date: Tue, 21 Apr 2015 17:44:49 +0600 Subject: [PATCH] show aborted transactions in db_activity view --- sql/create_db_activity_view9.2.sql | 14 +++++--------- sql/db_activity9.2.sql | 14 ++++++-------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/sql/create_db_activity_view9.2.sql b/sql/create_db_activity_view9.2.sql index 0bc9b04..b371f1f 100644 --- a/sql/create_db_activity_view9.2.sql +++ b/sql/create_db_activity_view9.2.sql @@ -1,11 +1,7 @@ - - CREATE OR REPLACE VIEW db_activity AS - SELECT (now() - pg_stat_activity.xact_start) AS ts_age, pg_stat_activity.state, (now() - pg_stat_activity.query_start) as query_age, (now() - state_change) as change_age, pg_stat_activity.datname, pg_stat_activity.pid, pg_stat_activity.usename, pg_stat_activity.waiting, pg_stat_activity.client_addr, pg_stat_activity.client_port, pg_stat_activity.query -FROM pg_stat_activity -WHERE -((now() - pg_stat_activity.xact_start) > '00:00:00.1'::interval) --- OR ((now() - pg_stat_activity.query_start)> '00:00:00.5'::interval) +SELECT (clock_timestamp() - pg_stat_activity.xact_start) AS ts_age, pg_stat_activity.state, (clock_timestamp() - pg_stat_activity.query_start) as query_age, (clock_timestamp() - state_change) as change_age, pg_stat_activity.datname, pg_stat_activity.pid, pg_stat_activity.usename, pg_stat_activity.waiting, pg_stat_activity.client_addr, pg_stat_activity.client_port, pg_stat_activity.query +FROM pg_stat_activity +WHERE +((clock_timestamp() - pg_stat_activity.xact_start > '00:00:00.1'::interval) OR (clock_timestamp() - pg_stat_activity.query_start > '00:00:00.1'::interval and state = 'idle in transaction (aborted)')) and pg_stat_activity.pid<>pg_backend_pid() -ORDER BY pg_stat_activity.xact_start; - +ORDER BY coalesce(pg_stat_activity.xact_start, pg_stat_activity.query_start); \ No newline at end of file diff --git a/sql/db_activity9.2.sql b/sql/db_activity9.2.sql index 01798c0..d6dc4f9 100644 --- a/sql/db_activity9.2.sql +++ b/sql/db_activity9.2.sql @@ -1,8 +1,6 @@ - - SELECT (now() - pg_stat_activity.xact_start) AS ts_age, pg_stat_activity.state, (now() - pg_stat_activity.query_start) as query_age, (now() - state_change) as change_age, pg_stat_activity.datname, pg_stat_activity.pid, pg_stat_activity.usename, pg_stat_activity.waiting, pg_stat_activity.client_addr, pg_stat_activity.client_port, pg_stat_activity.query -FROM pg_stat_activity -WHERE -((now() - pg_stat_activity.xact_start) > '00:00:00.5'::interval) --- OR ((now() - pg_stat_activity.query_start)> '00:00:00.5'::interval) -ORDER BY pg_stat_activity.xact_start; - +SELECT (clock_timestamp() - pg_stat_activity.xact_start) AS ts_age, pg_stat_activity.state, (clock_timestamp() - pg_stat_activity.query_start) as query_age, (clock_timestamp() - state_change) as change_age, pg_stat_activity.datname, pg_stat_activity.pid, pg_stat_activity.usename, pg_stat_activity.waiting, pg_stat_activity.client_addr, pg_stat_activity.client_port, pg_stat_activity.query +FROM pg_stat_activity +WHERE +((clock_timestamp() - pg_stat_activity.xact_start > '00:00:00.1'::interval) OR (clock_timestamp() - pg_stat_activity.query_start > '00:00:00.1'::interval and state = 'idle in transaction (aborted)')) +and pg_stat_activity.pid<>pg_backend_pid() +ORDER BY coalesce(pg_stat_activity.xact_start, pg_stat_activity.query_start); \ No newline at end of file