Re: a verbose option for autovacuum

Euler Taveira <euler@eulerto.com>

From: "Euler Taveira" <euler@eulerto.com>
To: "Masahiko Sawada" <sawada.mshk@gmail.com>, "Tommy Li" <tommy@coffeemeetsbagel.com>
Cc: "Stephen Frost" <sfrost@snowman.net>, "Tom Lane" <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-03-08T15:57:36Z
Lists: pgsql-hackers
On Mon, Mar 8, 2021, at 2:32 AM, Masahiko Sawada wrote:
> * Proposed idea
> LOG:  automatic vacuum of table "postgres.public.test": index scans: 1
> pages: 0 removed, 443 remain, 0 skipped due to pins, 0 skipped frozen
> tuples: 1000 removed, 99000 remain, 0 are dead but not yet removable,
> oldest xmin: 545
> indexes: "postgres.public.test_idx1" 276 pages, 0 newly deleted, 0
> currently deleted, 0 reusable.
> "postgres.public.test_idx2" 300 pages, 10 newly deleted, 0 currently
> deleted, 3 reusable.
> "postgres.public.test_idx2" 310 pages, 4 newly deleted, 0 currently
> deleted, 0 reusable.
Instead of using "indexes:" and add a list of indexes (one on each line), it       
would be more parse-friendly if it prints one index per line using 'index         
"postgres.public.idxname" 123 pages, 45 newly deleted, 67 currently deleted, 8  
reusable.'.

> It still lacks some of what VACUUM VERBOSE shows (e.g., each index
> vacuum execution time etc) but it would be enough information to know
> the index page statistics. Probably we can output those by default
> without adding a new parameter controlling that.
Perfect is the enemy of the good. Let start with this piece of information.


--
Euler Taveira
EDB   https://www.enterprisedb.com/

Commits

  1. Add per-index stats information in verbose logs of autovacuum

  2. VACUUM ANALYZE: Always update pg_class.reltuples.