gleu/pgstats

progress_vacuum : ERROR: division by zero

Closed this issue · 1 comments

Il suppose the reason is the heap_blks_total at 0 when the phase is 'initializing'

$ ./pgstat -hmonolithe -p13002 -s progress_vacuum 3
--------------------- object --------------------- ---------- phase ---------- ---------------- stats --------------- -- time elapsed --
 database         relation              size                                    %scan  %vacuum  #index  %dead tuple
^[[Apgstat: pgstat: query failed: ERROR:  division by zero

pgstat: pgstat: query was: SELECT s.datname, relname,       pg_size_pretty(pg_table_size(relid)),                phase,          trunc(heap_blks_scanned::numeric*100/heap_blks_total,2)::text,             trunc(heap_blks_vacuumed::numeric*100/heap_blks_total,2)::text,                 index_vacuum_count,             trunc(num_dead_tuples::numeric*100/max_dead_tuples,2)::text,       (now()-query_start)::time(0) FROM pg_stat_progress_vacuum s JOIN pg_stat_activity USING (pid) LEFT JOIN pg_class c ON c.oid=s.relid ORDER BY pid
                                                                 jeu. 17 juin 2021 16:17:59 (chaque 1s)

   pid   | datid  | datname | relid  |    phase     | heap_blks_total | heap_blks_scanned | heap_blks_vacuumed | index_vacuum_count | max_dead_tuples | num_dead_tuples 
---------+--------+---------+--------+--------------+-----------------+-------------------+--------------------+--------------------+-----------------+-----------------
 3247415 | 748619 | pwned   | 748686 | initializing |               0 |                 0 |                  0 |                  0 |               0 |               0
(1 ligne)
gleu commented

Fixed, thanks!