Re: add PROCESS_MAIN to VACUUM

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, vignesh C <vignesh21(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: add PROCESS_MAIN to VACUUM
Date: 2023-03-01 19:13:44
Message-ID: 20230301191344.GA1543729@nathanxps13
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Mar 01, 2023 at 07:09:53PM +0100, Alvaro Herrera wrote:
> On 2023-Mar-01, Michael Paquier wrote:
>
>> +-- PROCESS_MAIN option
>> +VACUUM (PROCESS_MAIN FALSE) vactst;
>> +VACUUM (PROCESS_MAIN FALSE, PROCESS_TOAST FALSE) vactst;
>> +VACUUM (PROCESS_MAIN FALSE, FULL) vactst;
>>
>> Thinking a bit here. This set of tests does not make sure that the
>> main relation and/or the toast relation have been actually processed.
>> pg_stat_user_tables does not track what's happening on the toast
>> relations. So... What about adding some tests in 100_vacuumdb.pl
>> that rely on vacuumdb --verbose and check the logs produced? We
>> should make sure that the toast or the main relation are processed,
>> by tracking, for example, logs like vacuuming "schema.table". When
>> FULL is involved, we may want to track the changes on relfilenodes
>> depending on what's wanted.
>
> Maybe instead of reading the log, read values from pg_stat_all_tables.

Here is an attempt at that. Thanks for the idea.

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment Content-Type Size
v4-0001-add-PROCESS_MAIN-to-VACUUM.patch text/x-diff 17.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2023-03-01 19:20:58 Re: meson: Optionally disable installation of test modules
Previous Message Greg S 2023-03-01 19:12:45 Re: [EXTERNAL] Re: Support load balancing in libpq