Re: Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Maxim Orlov <orlovmg@gmail.com>, Daniil Davydov <3danissimo@gmail.com>, Daniel Gustafsson <daniel@yesql.se>
Date: 2025-11-10T16:11:00Z
Lists: pgsql-hackers
Hi,

On 2025-11-10 13:29:08 +0200, Heikki Linnakangas wrote:
> At the "make mxidoff 64 bits" thread [1], we're discussing moving
> SLRU_PAGES_PER_SEGMENT to pg_config_manual.h, to make it accessible from
> pg_upgrade code. It's currently defined in slru.h, which cannot be included
> in frontend code. There are many ways we could fix that, but moving
> SLRU_PAGES_PER_SEGMENT to pg_config_manual.h seems best to me. Patch
> attached.

I'm not convinced that pg_config_manual.h is a good place - that suggests it
makes sense to change the value for some installations, which I don't see any
reason for. Wouldn't an slrudefs.h or such be more appropriate?


> There was a suggestion earlier to make SLRU_PAGES_PER_SEGMENT a configure
> option [2]. I don't want to go that far; pg_config_manual.h seems like the
> right level of configurability to me.

-1 for both levels of configurability, I think that just makes things more
complicated without any real-world gain.

Greetings,

Andres Freund



Commits

  1. Add warning to pg_controldata on PG_CONTROL_VERSION mismatch

  2. Add pg_resetwal and pg_controldata support for new control file field

  3. Bump PG_CONTROL_VERSION for commit 3e0ae46d90

  4. Move SLRU_PAGES_PER_SEGMENT to pg_config_manual.h