@@ -10,10 +10,14 @@ 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
1317 query_agent_count_files = """
1418 WITH values AS (
1519 SELECT
16- 4096/(coalesce (pg_settings.setting::bigint /1024/1024, 1 )) AS segment_parts_count,
20+ 4096/(ceil (pg_settings.setting::numeric /1024/1024)) AS segment_parts_count,
1721 setting::bigint AS segment_size,
1822 ('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
1923 ('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
@@ -29,7 +33,7 @@ class ArchiveCommand(Plugin):
2933 query_agent_size_files = """
3034 WITH values AS (
3135 SELECT
32- 4096/(coalesce (pg_settings.setting::bigint /1024/1024, 1 )) AS segment_parts_count,
36+ 4096/(ceil (pg_settings.setting::numeric /1024/1024)) AS segment_parts_count,
3337 setting::bigint AS segment_size,
3438 ('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
3539 ('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
@@ -61,7 +65,7 @@ def run(self, zbx):
6165 query_queue = """
6266 WITH values AS (
6367 SELECT
64- 4096/(coalesce (pg_settings.setting::bigint /1024/1024, 1 )) AS segment_parts_count,
68+ 4096/(ceil (pg_settings.setting::numeric /1024/1024)) AS segment_parts_count,
6569 setting::bigint AS segment_size,
6670 ('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
6771 ('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
0 commit comments