Set activity queries for different pg versions

This commit is contained in:
Dan Sosedoff 2017-05-09 22:51:26 -05:00
parent e9787440fb
commit c592d0063d
2 changed files with 21 additions and 20 deletions

View File

@ -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) {

View File

@ -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",
}
)