Re: BUG #18979: pg_upgrade to PG17 fails if max_slot_wal_keep_size is not set to -1 - Mailing list pgsql-bugs

From David G. Johnston
Subject Re: BUG #18979: pg_upgrade to PG17 fails if max_slot_wal_keep_size is not set to -1
Date
Msg-id CAKFQuwaH2T+Kk55SzwG5y0CtSVxyrqO-iWek54QP4YX2AWJW3w@mail.gmail.com
Whole thread Raw
In response to Re: BUG #18979: pg_upgrade to PG17 fails if max_slot_wal_keep_size is not set to -1  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #18979: pg_upgrade to PG17 fails if max_slot_wal_keep_size is not set to -1
List pgsql-bugs
On Sun, Jul 6, 2025 at 8:26 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
PG Bug reporting form <noreply@postgresql.org> writes:

> Expected Behavior:
> pg_upgrade should automatically override max_slot_wal_keep_size to -1 as
> required for upgrade mode.

I do not think it is within pg_upgrade's charter to modify your
postgresql.conf file.

That isn't what is being asked.  They simply want the override that is already in place to actually work.


However, maybe instead of having check_max_slot_wal_keep_size
throw an error about this, we could make it just silently keep
the value as -1.  There's a nearby thread about silently ignoring
inappropriate GUC settings during initdb [1], and this seems like
it'd be in the same spirit.  Or we could just drop the server-side
check altogether, figuring that it's pg_upgrade's job to see to
that.

Can't we just move this to postmaster.c ~ line 850 ?

This seems no different than wal_level and summarize_wal having a co-dependency such that intermediate invalid states must be allowed to exist so long as what the server ends up running under is valid.  max_slot_wal_keep_size is sighup just like summarize_wal (and IsBinaryUpgrade behaves like a postmaster GUC)

David J.

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #18979: pg_upgrade to PG17 fails if max_slot_wal_keep_size is not set to -1
Next
From: Tom Lane
Date:
Subject: Re: BUG #18979: pg_upgrade to PG17 fails if max_slot_wal_keep_size is not set to -1