Re: Vacuum statistics
Alena Rybakina <lena.ribackina@yandex.ru>
From: Alena Rybakina <lena.ribackina@yandex.ru>
To: Andrei Lepikhov <lepihov@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Alexander Korotkov <aekorotkov@gmail.com>,
Amit Kapila <amit.kapila16@gmail.com>, Jim Nasby <jnasby@upgrade.com>,
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>,
Kirill Reshke <reshkekirill@gmail.com>, Andrei Zubkov <zubkov@moonset.ru>,
Masahiko Sawada <sawada.mshk@gmail.com>,
Melanie Plageman <melanieplageman@gmail.com>,
jian he <jian.universality@gmail.com>, Sami Imseih <samimseih@gmail.com>,
vignesh C <vignesh21@gmail.com>,
Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
Date: 2026-03-12T18:10:49Z
Lists: pgsql-hackers
On 12.03.2026 18:28, Andrei Lepikhov wrote: > > In addition, it makes sense to discuss how these parameters are > supposed to be used. I see the following use cases: > > 1. Which tables have the most VM churn? - monitoring > rev_all_visible_pages normalised on the table size and its average > tuple width might expose the most suspicious tables (in terms of table > statistics). > 2. DML Skew. Dividing rev_all_visible_pages by the number of tuple > updates/deletes, normalised by the average table and tuple sizes, > might indicate whether changes are localised within the table. > 3. IndexOnlyScan effectiveness. Considering the speed of > rev_all_visible_pages change, normalised to the value of the > relallvisible statistic, we may detect tables where Index-Only Scan > might be inefficiently used. > > I agree with all these points and I think we can add it in the documentation. On 12.03.2026 17:02, Andrei Lepikhov wrote: > On 9/3/26 16:46, Alena Rybakina wrote: >> I discovered that my last patches were incorrectly formed. I updated >> the correct version. > > I see that v29-0001-* is a quite separate feature itself at the > moment. It makes sense to remove the commit message phrase for > vm_new_frozen_pages and vm_new_visible_pages, introduced in later > patches. > This patch itself looks good to me. BTW, I have noticed that my third patch (from 29th - when I have added ext_vacuum_statistics) is huge but I have no idea how to split it logically. I'm not sure that separation by objects can simplify the review process. Maybe I should add only base logic for the extension and then gucs, what do you think? Any suggestions are welcome here.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add relallfrozen to pg_class
- 99f8f3fbbc8f 18.0 cited
-
Move wal_buffers_full from PgStat_PendingWalStats to WalUsage
- eaf502747bac 18.0 cited