zabbix/files/postgresql/pgsql.frozenxid.sql

14 lines
438 B
SQL

SELECT row_to_json(T)
FROM (
SELECT
extract(epoch FROM now())::integer AS ts,
((1 - max(age(d.datfrozenxid))::double precision /
current_setting('autovacuum_freeze_max_age')::bigint) * 100)::numeric(9,6)
AS prc_before_av,
((1 - abs(max(age(d.datfrozenxid))::double precision /
(1::bigint << (min(t.typlen)*8)))) * 100)::numeric(9,6)
AS prc_before_stop
FROM pg_database d CROSS JOIN pg_type t
WHERE t.typname = 'xid'
) T;