Re: Preventing indirection for IndexPageGetOpaque for known-size page special areas

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

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Bruce Momjian <bruce@momjian.us>, Robert Haas <robertmhaas@gmail.com>, Peter Geoghegan <pg@bowt.ie>, Matthias van de Meent <boekewurm+postgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2022-11-29T00:48:54Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:
> I am wondering if it would be worth adding an AssertMacro() like in
> this one, though:
> https://www.postgresql.org/message-id/YkaP64JvZTMgcHtq@paquier.xyz

Kind of doubt it.  It'd bloat debug builds with a lot of redundant
checks, and probably never catch anything.  For catching problems
in production, the right place to do this (and where we already do
do it) is in _bt_checkpage.

If any of the other AMs lack page-read-time sanity checks like
_bt_checkpage, I'd be in favor of adding that.  But I don't
think a whole bunch of additional checks afterwards will buy much.

			regards, tom lane



Commits

  1. Add macros in hash and btree AMs to get the special area of their pages

  2. Make WAL segment size configurable at initdb time.