Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w0kGS-002Ai2-0y for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Mar 2026 17:56:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0kGO-00GLbH-1H for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Mar 2026 17:56:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w0kGO-00GLb9-0O for pgsql-hackers@lists.postgresql.org; Thu, 12 Mar 2026 17:56:00 +0000 Received: from forward103b.mail.yandex.net ([178.154.239.150]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w0kGM-00000002Kpy-0lYL for pgsql-hackers@postgresql.org; Thu, 12 Mar 2026 17:56:00 +0000 Received: from mail-nwsmtp-smtp-production-main-67.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-67.sas.yp-c.yandex.net [IPv6:2a02:6b8:c23:143b:0:640:90e9:0]) by forward103b.mail.yandex.net (Yandex) with ESMTPS id 76D65C005C; Thu, 12 Mar 2026 20:55:56 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-67.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id ptL5aeGGgSw0-rzikt5mS; Thu, 12 Mar 2026 20:55:55 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1773338156; bh=i3vHkWcOQhjiuy8kHNglk1x1PDkC9VKe+KYCtQWCd9g=; h=From:In-Reply-To:Cc:Date:References:To:Subject:Message-ID; b=CpwNZjWXSDD+n3bdQE69/XWgtoixrdLXOupWTPpW8rgfT4ZcXE6CzQCDL5RPByqWN kaTaHPHY97idLA4w8l2z6y0h7Gx6/Pfl+RkltF+8JlZ1Gz3xueCaT2SXlDLEUNOa/a Op2X649wbhBgDExDJ1I6wV2XzsO4hx99yiIvCSio= Authentication-Results: mail-nwsmtp-smtp-production-main-67.sas.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <7a74d6af-85e2-4b48-9133-61309a965954@yandex.ru> Date: Thu, 12 Mar 2026 21:10:49 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Vacuum statistics To: Andrei Lepikhov , pgsql-hackers Cc: Alexander Korotkov , Amit Kapila , Jim Nasby , Bertrand Drouvot , Kirill Reshke , Andrei Zubkov , Masahiko Sawada , Melanie Plageman , jian he , Sami Imseih , vignesh C , Ilia Evdokimov References: <86f76aa5-1ab5-4e2e-9b15-405051852a2a@postgrespro.ru> <5583261b-eede-4341-b3b1-91650fefc1cf@postgrespro.ru> <2a04ad18-5572-4633-848b-eb57209e7ac0@postgrespro.ru> <2f48399f-2959-4483-938f-64edb863ca76@postgrespro.ru> <18169b68-5b10-40fd-9657-be04f2bd0161@postgrespro.ru> <612819ad-beca-41fb-bb7f-d5a7c11f0045@yandex.ru> <277ce149-4333-463d-bad6-ccd785606c7f@yandex.ru> <3f9c57bc-dc1f-4ad8-a2e1-5be15ac79264@yandex.ru> <77f1b8bc-b365-4e88-b87b-ced37fabbbf0@yandex.ru> Content-Language: en-US From: Alena Rybakina In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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.