Re: Disabling vacuum truncate for autovacuum
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Fujii Masao <masao.fujii@oss.nttdata.com>, Robert Treat <rob@xzilla.net>, Laurenz Albe <laurenz.albe@cybertec.at>, Gurjeet Singh <gurjeet@singh.im>, Andres Freund <andres@anarazel.de>, Will Storey <will@summercat.com>, Robert Haas <robertmhaas@gmail.com>, Postgres Hackers <pgsql-hackers@postgresql.org>
Date: 2025-03-20T18:13:02Z
Lists: pgsql-hackers, pgsql-general
On Thu, Mar 20, 2025 at 09:59:45AM -0700, David G. Johnston wrote: > I get the need for this kind of logic, since we used a boolean for the > table option, but as a self-proclaimed hack it seems worth more comments > than provided here. Especially pertaining to whether this is indeed > generic or vacuum_truncate specific. It's unclear since both isset and > vacuum_truncate_set have been introduced. I'm happy to expand the comments, but... > If it is now a general property > applying to any setting then vacuum_truncate_set shouldn't be needed - we > should just get the isset value of the existing vacuum_truncate reloption > by name. the reason I added this field is because I couldn't find any existing way to get this information where it's needed. So, I followed the existing pattern of adding an offset to something we can access. This can be used for any reloption, but currently vacuum_truncate is the only one that does. How does something like this look for the comment? /* * isset_offset is an optional offset of a field in the result struct * that stores whether the value is explicitly set for the relation or * has just picked up the default value. In most cases, this can be * deduced by giving the reloption a special default value (e.g., -2 is * a common one for integer reloptions), but this isn't always * possible. One notable example is Boolean reloptions, where it's * difficult to discern the source of the value. This offset is only * used if given a value greater than zero. */ int isset_offset; -- nathan
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Expand comment for isset_offset.
- 7d559c8580f7 18.0 landed
-
Add vacuum_truncate configuration parameter.
- 0164a0f9ee12 18.0 landed