check_txn_idle: fix query_time --excludeuser query
authorMika Eloranta <[email protected]>
Wed, 30 Jan 2013 19:23:15 +0000 (21:23 +0200)
committerGreg Sabino Mullane <[email protected]>
Mon, 11 Feb 2013 19:53:54 +0000 (14:53 -0500)
Parenthesis are required:

"a OR b AND usename <> 'foo'" -> "(a OR b) AND usename <> 'foo'"

Fixes at least "query_time --includeuser/--excludeuser".

check_postgres.pl

index 09886fe3f45bb70adaff4eb4662d0e2a605501ed..70003e7dd79e33c336545d2c40f5bb56ad5a6c4a 100755 (executable)
@@ -7534,7 +7534,7 @@ sub check_txn_idle {
         $SQL = q{SELECT datname, datid, procpid AS pid, usename, client_addr, xact_start, current_query AS current_query, '' AS state, }.
             q{CASE WHEN client_port < 0 THEN 0 ELSE client_port END AS client_port, }.
             qq{COALESCE(ROUND(EXTRACT(epoch FROM now()-$start)),0) AS seconds }.
-            qq{FROM pg_stat_activity WHERE $clause$USERWHERECLAUSE }.
+            qq{FROM pg_stat_activity WHERE ($clause)$USERWHERECLAUSE }.
             q{ORDER BY xact_start, query_start, procpid DESC};
         ## Craft an alternate version for old servers that do not have the xact_start column:
         ($SQL2 = $SQL) =~ s/xact_start/query_start AS xact_start/;
@@ -7544,7 +7544,7 @@ sub check_txn_idle {
         $SQL2 = $SQL = q{SELECT datname, datid, procpid AS pid, usename, client_addr, current_query AS current_query, '' AS state, }.
             q{CASE WHEN client_port < 0 THEN 0 ELSE client_port END AS client_port, }.
             qq{COALESCE(ROUND(EXTRACT(epoch FROM now()-$start)),0) AS seconds }.
-            qq{FROM pg_stat_activity WHERE $clause$USERWHERECLAUSE }.
+            qq{FROM pg_stat_activity WHERE ($clause)$USERWHERECLAUSE }.
             q{ORDER BY query_start, procpid DESC};
     }