Re: New strategies for freezing, advancing relfrozenxid early
Nikita Malakhov <hukutoc@gmail.com>
From: Nikita Malakhov <hukutoc@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Peter Geoghegan <pg@bowt.ie>,
Matthias van de Meent <boekewurm+postgres@gmail.com>, John Naylor <john.naylor@enterprisedb.com>,
Andres Freund <andres@anarazel.de>, Justin Pryzby <pryzby@telsasoft.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-12-20T18:04:14Z
Lists: pgsql-hackers
Hi! I'll try to apply this patch onto my branch with Pluggable TOAST to test these mechanics with new TOAST. Would reply on the result. It could be difficult though, because both have a lot of changes that affect the same code. >I'm not sure how much this would help with bloat. I suspect that it >could make a big difference with the right workload. If you always >need frequent autovacuums, just to deal with bloat, then there is >never a good time to run an aggressive antiwraparound autovacuum. An >aggressive AV will probably end up taking much longer than the typical >autovacuum that deals with bloat. While the aggressive AV will remove >as much bloat as any other AV, in theory, that might not help much. If >the aggressive AV takes as long as (say) 5 regular autovacuums would >have taken, and if you really needed those 5 separate autovacuums to >run, just to deal with the bloat, then that's a real problem. The >aggressive AV effectively causes bloat with such a workload. On Tue, Dec 20, 2022 at 12:01 PM Jeff Davis <pgsql@j-davis.com> wrote: > On Sun, 2022-12-18 at 14:20 -0800, Peter Geoghegan wrote: > > Attached is v10, which fixes this issue, but using a different > > approach to the one I sketched here. > > In 0001, it's fairly straightforward rearrangement and looks like an > improvement to me. I have a few complaints, but they are about pre- > existing code that you moved around, and I like that you didn't > editorialize too much while just moving code around. +1 from me. > > > -- > Jeff Davis > PostgreSQL Contributor Team - AWS > > > > > -- Regards, -- Nikita Malakhov Postgres Professional https://postgrespro.ru/
Commits
-
Revert "Add eager and lazy freezing strategies to VACUUM."
- 6c6b49726644 16.0 landed
-
Add eager and lazy freezing strategies to VACUUM.
- 4d4179926139 16.0 landed
-
Refine the definition of page-level freezing.
- b37a08323964 16.0 landed
-
Avoid special XID snapshotConflictHorizon values.
- 6daeeb1f9196 16.0 cited
-
Add page-level freezing to VACUUM.
- 1de58df4fec7 16.0 landed
-
Remove overzealous MultiXact freeze assertion.
- 63c844a0a5d7 16.0 landed
-
Refactor how VACUUM passes around its XID cutoffs.
- 4ce3afb82ecf 16.0 landed
-
Deduplicate freeze plans in freeze WAL records.
- 9e5405993c1e 16.0 cited
-
Set relfrozenxid to oldest extant XID seen by VACUUM.
- 0b018fabaaba 15.0 cited
-
Only skip pages marked as clean in the visibility map, if the last 32
- bf136cf6e376 8.4.0 cited
-
Add vacuum_freeze_table_age GUC option, to control when VACUUM should
- 6587818542e7 8.4.0 cited