@@ -10,14 +10,10 @@ class ArchiveCommand(Plugin):
10
10
Interval = 60
11
11
12
12
# 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
17
13
query_agent_count_files = """
18
14
WITH values AS (
19
15
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,
21
17
setting::bigint AS segment_size,
22
18
('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
23
19
('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):
33
29
query_agent_size_files = """
34
30
WITH values AS (
35
31
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,
37
33
setting::bigint AS segment_size,
38
34
('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
39
35
('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):
65
61
query_queue = """
66
62
WITH values AS (
67
63
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,
69
65
setting::bigint AS segment_size,
70
66
('x' || substring(pg_stat_archiver.last_archived_wal from 9 for 8))::bit(32)::int AS last_wal_div,
71
67
('x' || substring(pg_stat_archiver.last_archived_wal from 17 for 8))::bit(32)::int AS last_wal_mod,
0 commit comments