public inbox for [email protected]
help / color / mirror / Atom feedFrom: Ilia Evdokimov <[email protected]>
To: Andrei Zubkov <[email protected]>
To: Alena Rybakina <[email protected]>
Cc: pgsql-hackers <[email protected]>
Cc: [email protected]
Subject: Re: Vacuum statistics
Date: Tue, 13 Aug 2024 16:18:48 +0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
On 10.8.24 22:37, Andrei Zubkov wrote:
> Hi, Ilia!
>
>> Do you consider not to create new table in pg_catalog but to save
>> statistics in existing table? I mean pg_class or
>> pg_stat_progress_analyze, pg_stat_progress_vacuum?
>>
> Thank you for your interest on our patch!
>
> *_progress views is not our case. They hold online statistics while
> vacuum is in progress. Once work is done on a table the entry is gone
> from those views. Idea of this patch is the opposite - it doesn't
> provide online statistics but it accumulates statistics about rosources
> consumed by all vacuum passes over all relations. It's much closer to
> the pg_stat_all_tables than pg_stat_progress_vacuum.
>
> It seems pg_class is not the right place because it is not a statistic
> view - it holds the current relation state and haven't anything about
> the relation workload.
>
> Maybe the pg_stat_all_tables is the right place but I have several
> thoughts about why it is not:
> - Some statistics provided by this patch is really vacuum specific. I
> don't think we want them in the relation statistics view.
> - Postgres is extreamly extensible. I'm sure someday there will be
> table AMs that does not need the vacuum at all.
>
> Right now vacuum specific workload views seems optimal choice to me.
>
> Regards,
Agreed. They are not god places to store such statistics.
I have some suggestions:
1. pgstatfuncs.c in functions tuplestore_put_for_database() and
tuplestore_put_for_relation you can remove 'nulls' array if you're
sure that columns cannot be NULL.
2. These functions are almost the same and I would think of writing one
function depending of type 'ExtVacReportType'
view thread (8+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: Vacuum statistics
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox