Re: Vacuum statistics

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Jim Nasby <jnasby(at)upgrade(dot)com>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Ilia Evdokimov <ilya(dot)evdokimov(at)tantorlabs(dot)com>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Andrei Zubkov <zubkov(at)moonset(dot)ru>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>, a(dot)lepikhov(at)postgrespro(dot)ru, Sami Imseih <samimseih(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>
Subject: Re: Vacuum statistics
Date: 2025-06-02 16:25:28
Message-ID: CAPpHfdtQd29O15Cmp1qeqTCerQF0Y+BGh63qtX3RkA7k=0TZ1Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 13, 2025 at 12:49 PM Alena Rybakina
<a(dot)rybakina(at)postgrespro(dot)ru> wrote:
> On 12.05.2025 08:30, Amit Kapila wrote:
> > On Fri, May 9, 2025 at 5:34 PM Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru> wrote:
> >> I did a rebase and finished the part with storing statistics separately from the relation statistics - now it is possible to disable the collection of statistics for relationsh using gucs and
> >> this allows us to solve the problem with the memory consumed.
> >>
> > I think this patch is trying to collect data similar to what we do for
> > pg_stat_statements for SQL statements. So, can't we follow a similar
> > idea such that these additional statistics will be collected once some
> > external module like pg_stat_statements is enabled? That module should
> > be responsible for accumulating and resetting the data, so we won't
> > have this memory consumption issue.
> The idea is good, it will require one hook for the pgstat_report_vacuum
> function, the extvac_stats_start and extvac_stats_end functions can be
> run if the extension is loaded, so as not to add more hooks.

+1
Nice idea of a hook. Given the volume of the patch, it might be a
good idea to keep this as an extension.

> But I see a problem here with tracking deleted objects for which
> statistics are no longer needed. There are two solutions to this and I
> don't like both of them, to be honest.
> The first way is to add a background process that will go through the
> table with saved statistics and check whether the relation or the
> database are relevant now or not and if not, then
> delete the vacuum statistics information for it. This may be
> resource-intensive. The second way is to add hooks for deleting the
> database and relationships (functions dropdb, index_drop,
> heap_drop_with_catalog).

Can we workaround this with object_access_hook?

------
Regards,
Alexander Korotkov
Supabase

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2025-06-02 16:26:29 Re: Foreign key validation failure in 18beta1
Previous Message Sami Imseih 2025-06-02 15:52:25 Re: track generic and custom plans in pg_stat_statements