@@ -10,14 +10,10 @@ class ArchiveCommand(Plugin):
1010 Interval = 60
1111
1212 # if streaming replication is on, archive queue length and size will always be 0 for replicas
13-
14- # TODO:
15- # - check type compatibility
16- # - check coalesce operator need
1713 query_agent_count_files = """
1814 WITH values AS (
1915 SELECT
20- 4096/(ceil (pg_settings.setting::numeric /1024/1024)) AS segment_parts_count,
16+ 4096/(coalesce (pg_settings.setting::bigint /1024/1024, 1 )) AS segment_parts_count,
2117 setting::bigint AS segment_size,
2218 ('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
2319 ('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
@@ -33,7 +29,7 @@ class ArchiveCommand(Plugin):
3329 query_agent_size_files = """
3430 WITH values AS (
3531 SELECT
36- 4096/(ceil (pg_settings.setting::numeric /1024/1024)) AS segment_parts_count,
32+ 4096/(coalesce (pg_settings.setting::bigint /1024/1024, 1 )) AS segment_parts_count,
3733 setting::bigint AS segment_size,
3834 ('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
3935 ('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
@@ -65,7 +61,7 @@ def run(self, zbx):
6561 query_queue = """
6662 WITH values AS (
6763 SELECT
68- 4096/(ceil (pg_settings.setting::numeric /1024/1024)) AS segment_parts_count,
64+ 4096/(coalesce (pg_settings.setting::bigint /1024/1024, 1 )) AS segment_parts_count,
6965 setting::bigint AS segment_size,
7066 ('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
7167 ('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
0 commit comments