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