From c592d0063dccbf43a762375e3c095bfc89de71af Mon Sep 17 00:00:00 2001 From: Dan Sosedoff Date: Tue, 9 May 2017 22:51:26 -0500 Subject: [PATCH] Set activity queries for different pg versions --- pkg/client/client.go | 10 +++++++++- pkg/statements/sql.go | 31 ++++++++++++------------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/pkg/client/client.go b/pkg/client/client.go index b68f808..cd69820 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -224,7 +224,15 @@ func (client *Client) TableConstraints(table string) (*Result, error) { // Returns all active queriers on the server func (client *Client) Activity() (*Result, error) { - return client.query(statements.Activity) + chunks := strings.Split(client.serverVersion, ".") + version := strings.Join(chunks[0:2], ".") + + query := statements.Activity[version] + if query == "" { + query = statements.Activity["default"] + } + + return client.query(query) } func (client *Client) Query(query string) (*Result, error) { diff --git a/pkg/statements/sql.go b/pkg/statements/sql.go index 82f72d0..dd85a02 100644 --- a/pkg/statements/sql.go +++ b/pkg/statements/sql.go @@ -107,25 +107,6 @@ WHERE // --------------------------------------------------------------------------- - Activity = ` -SELECT - datname, - query, - state, - waiting, - query_start, - state_change, - pid, - datid, - application_name, - client_addr -FROM - pg_stat_activity -WHERE - state IS NOT NULL` - - // --------------------------------------------------------------------------- - Objects = ` SELECT n.nspname as "schema", @@ -151,3 +132,15 @@ WHERE has_schema_privilege(n.nspname, 'USAGE') ORDER BY 1, 2` ) + +var ( + Activity = map[string]string{ + "default": "SELECT * FROM pg_stat_activity", + "9.1": "SELECT datname, current_query, waiting, query_start, procpid, datid, application_name, client_addr FROM pg_stat_activity", + "9.2": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity", + "9.3": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity", + "9.4": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity", + "9.5": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity", + "9.6": "SELECT datname, query, state, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity", + } +)