From ebb084aa9dec7c7ad87baa8104e9bb43cf69e3fb Mon Sep 17 00:00:00 2001 From: James Campbell Date: Tue, 1 Jul 2025 02:29:56 -0400 Subject: [PATCH] Add initial query for sequence usage --- sample-config/pgmon-metrics.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sample-config/pgmon-metrics.yml b/sample-config/pgmon-metrics.yml index 3c8e465..5bdb6d5 100644 --- a/sample-config/pgmon-metrics.yml +++ b/sample-config/pgmon-metrics.yml @@ -196,6 +196,27 @@ metrics: test_args: dbname: postgres + sequence_usage: + type: value + query: +# 9.2 lacks lateral joins, the pg_sequence_last_value function, and the pg_sequences view +# 0: > +# SELECT COALESCE(MAX(pg_sequence_last_value(c.oid)::float / (pg_sequence_parameters(oid)).maximum_value), 0) AS max_usage +# FROM pg_class c +# WHERE c.relkind = 'S' +# 9.3 - 9.6 lacks the pg_sequence_last_value function, and pg_sequences view +# 90300: > +# SELECT COALESCE(MAX(pg_sequence_last_value(c.oid)::float / s.maximum_value), 0) AS max_usage +# FROM pg_class c +# CROSS JOIN LATERAL pg_sequence_parameters(c.oid) AS s +# WHERE c.relkind = 'S' + 100000: > + SELECT COALESCE(MAX(pg_sequence_last_value(c.oid)::float / sp.maximum_value), 0) AS max_usage + FROM pg_class c + CROSS JOIN LATERAL pg_sequence_parameters(c.oid) AS sp + WHERE c.relkind = 'S' + test_args: + dbname: postgres ## # Per-replication metrics