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: Robert Haas <robertmhaas(at)gmail(dot)com>, Nathan Bossart <nathandbossart(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>, Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: vacuum_truncate configuration parameter and isset_offset
Date: 2025-03-24 15:49:46
Message-ID: CAKFQuwbGA2Qxiu-FUCs66hiJNLGQ5S-2rJQ4OXBVvt3jbYz-6g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

> > but I don't think it's more
> > confusing here than for other vacuum reloptions. I have seen people
> > try to unset vacuum reloptions by using SET to configure them to the
> > default value rather than by using RESET to remove them. But then
> > later they change the system default and that table is still nailed to
> > the old default. I always find myself slightly bemused by this,
> > because it doesn't seem that hard to me to figure out how it actually
> > works, but it's definitely a real issue. However, I don't see why the
> > issue is any more acute for this parameter than any other, and it
> > certainly does not seem like a good idea to make this parameter work
> > differently from the other ones.
>
> May be I can agree with you. But this does not explain why we should
> switch
> boolean from two possible values into three... It can't have three values
> for
> any practical reason. This should not be boolean anymore in this case.
>
>
The boolean is two-valued. The state of the reloption is also binary - set
or unset (i.e., it is listed in pg_class.reloptions, or not). In the unset
state the effective value of a reloption comes from the corresponding GUC
(or, lacking that, some hard-coded default). If set, the value comes from
the associated boolean. RESET places a reloption into the unset state.

David J.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-03-24 15:54:17 Re: Add Postgres module info
Previous Message Álvaro Herrera 2025-03-24 15:47:31 Re: Restrict publishing of partitioned table with a foreign table as partition