diff --git a/internal/collector/postgres_database.go b/internal/collector/postgres_database.go index b36080c..b2c17a4 100644 --- a/internal/collector/postgres_database.go +++ b/internal/collector/postgres_database.go @@ -51,7 +51,7 @@ const ( "FROM pg_stat_database WHERE datname IN (SELECT datname FROM pg_database WHERE datallowconn AND NOT datistemplate) " + "OR datname IS NULL" - xidLimitQuery = "SELECT 'database' AS src, 2147483647 - GREATEST(MAX(AGE(datfrozenxid)), MAX(AGE(COALESCE(NULLIF(datminmxid, 1), datfrozenxid)))) AS to_limit FROM pg_database " + + xidLimitQuery = "SELECT 'database' AS src, 2147483647 - GREATEST(MAX(AGE(datfrozenxid)), MAX(MXID_AGE(COALESCE(NULLIF(datminmxid, 1), datfrozenxid)))) AS to_limit FROM pg_database " + "UNION SELECT 'prepared_xacts' AS src, 2147483647 - COALESCE(MAX(AGE(transaction)), 0) AS to_limit FROM pg_prepared_xacts " + "UNION SELECT 'replication_slots' AS src, 2147483647 - GREATEST(COALESCE(MIN(AGE(xmin)), 0), COALESCE(MIN(AGE(catalog_xmin)), 0)) AS to_limit FROM pg_replication_slots" )