Re: Avoiding unnecessary clog lookups while freezing

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-12-29T17:25:03Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> Somewhat of a tangent: I've previously wondered if we should have a small
> hash-table based clog cache. The current one-element cache doesn't suffice in
> a lot of scenarios, but it wouldn't take a huge cache to end up filtering most
> clog accesses.

I've wondered about that too.  The one-element cache was a good hack
in its day, but it looks a bit under-engineered by our current
standards.  (Also, maybe it'd be plausible to have a one-element
cache in front of a small hash?)

			regards, tom lane



Commits

  1. Delay commit status checks until freezing executes.

  2. Add page-level freezing to VACUUM.

  3. Perform a lot more sanity checks when freezing tuples.