From 186b4797f45c4c3e316e5b248b11ad3b7243af18 Mon Sep 17 00:00:00 2001 From: Mahadevan Date: Sat, 2 Oct 2021 15:13:50 +0530 Subject: [PATCH] Collect pg_settings.pending_restart. --- collector/collect.go | 5 +++-- model.go | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/collector/collect.go b/collector/collect.go index dd33104..e0fbb8e 100644 --- a/collector/collect.go +++ b/collector/collect.go @@ -579,7 +579,8 @@ func (c *collector) getSettings() { defer cancel() q := `SELECT name, setting, COALESCE(boot_val,''), source, - COALESCE(sourcefile,''), COALESCE(sourceline,0) + COALESCE(sourcefile,''), COALESCE(sourceline,0), + pending_restart FROM pg_settings ORDER BY name ASC` rows, err := c.db.QueryContext(ctx, q) @@ -592,7 +593,7 @@ func (c *collector) getSettings() { for rows.Next() { var s pgmetrics.Setting var name, sf, sl string - if err := rows.Scan(&name, &s.Setting, &s.BootVal, &s.Source, &sf, &sl); err != nil { + if err := rows.Scan(&name, &s.Setting, &s.BootVal, &s.Source, &sf, &sl, &s.Pending); err != nil { log.Fatalf("pg_settings query failed: %v", err) } if len(sf) > 0 { diff --git a/model.go b/model.go index b2ad8e9..e5bebb5 100644 --- a/model.go +++ b/model.go @@ -435,6 +435,8 @@ type Setting struct { Setting string `json:"setting"` BootVal string `json:"bootval,omitempty"` Source string `json:"source,omitempty"` + // following fields present only in schema 1.11 and later + Pending bool `json:"pending,omitempty"` } type WALArchiving struct {