Hi, On Mon, May 12, 2025 at 5:30 AM Amit Kapila <[email protected]> wrote: > > On Fri, May 9, 2025 at 5:34 PM Alena Rybakina <[email protected]> > 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. > > BTW, how will these new statistics be used to autotune a vacuum? And > do we need all the statistics proposed by this patch?
Thanks for working on this. I agree with the general idea of having minimal changes to the core. I think a simple approach would be to have a hook in heap_vacuum_rel at the end, where vacuum stats are prepared in a buffer for emitting LOG messages. External modules can then handle storing, rotating, interpreting, aggregating (per relation/per database), and exposing the stats to end-users via SQL. The core can define a common data structure, fill it, and send it to external modules. I haven't had a chance to read the whole thread or review the patches; I'm sure this has been discussed. -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
