Re: vacuum_truncate configuration parameter and isset_offset

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Nikolay Shaplov <dhyan(at)nataraj(dot)su>
Cc: Nathan Bossart <nathandbossart(at)gmail(dot)com>, Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Robert Treat <rob(at)xzilla(dot)net>, Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, Albe <laurenz(dot)albe(at)cybertec(dot)at>, Gurjeet Singh <gurjeet(at)singh(dot)im>, Will Storey <will(at)summercat(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: vacuum_truncate configuration parameter and isset_offset
Date: 2025-03-24 17:37:50
Message-ID: CAKFQuwYXjD4-4rKPYoTak7Nt3MSBmmM04sYDOw=62RTxSBUVGQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Mar 24, 2025 at 10:27 AM Nikolay Shaplov <dhyan(at)nataraj(dot)su> wrote:

> В письме от понедельник, 24 марта 2025 г. 20:09:23 MSK пользователь Nathan
> Bossart написал:
>
> > > You've just changed the whole engine, for what is seems to be an
> > > exceptional case, that can be solved via existing means.
> > I have not changed the whole engine. I have added an optional integer
> > field to a single struct.
>
> That potentially changes the behaviour of all boolean options. They will
> never
> be what they were before.
>

The implementation sure looks like a pure opt-in from this angle. Can you
provide a concrete behavior change example of a boolean option that hasn't
opted-in to help me see what I'm missing. I do agree that this should have
been a separate commit but let us at least try and do some analysis before
throwing the whole thing away. A refactoring/change like this would need
an example to work with anyway so that thread you want to create is this
one in practice. It has a poor subject line for the material, true, but
that doesn't seem uncommon around here...

My main concern when first seeing this was adding an integer to every
single option in the entire system for something that is going to be zero
99.9% of the time. A bit bloated but not directly impacting behavior. I
wanted to avoid that by just looking in pg_class.reloptions for the
vacuum_truncate setting when needed. I'd rather do that then turn this
into an enum that is masquerading as a boolean.

David J.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2025-03-24 17:43:58 Re: vacuum_truncate configuration parameter and isset_offset
Previous Message Robert Haas 2025-03-24 17:31:41 Re: Add Postgres module info