Re: BUG #16497: old and new pg_controldata WAL segment sizes areinvalid or do not match - Mailing list pgsql-bugs

From Stephen Frost
Subject Re: BUG #16497: old and new pg_controldata WAL segment sizes areinvalid or do not match
Date
Msg-id 20200618154152.GB6680@tamriel.snowman.net
Whole thread Raw
In response to Re: BUG #16497: old and new pg_controldata WAL segment sizes areinvalid or do not match  (Bruce Momjian <bruce@momjian.us>)
Responses Re: BUG #16497: old and new pg_controldata WAL segment sizes areinvalid or do not match
List pgsql-bugs
Greetings,

* Bruce Momjian (bruce@momjian.us) wrote:
> On Thu, Jun 18, 2020 at 11:16:50AM -0400, Tom Lane wrote:
> > Jeff Janes <jeff.janes@gmail.com> writes:
> > > Since wal-segsize is changeable with pg_resetwal since v11, and pg_upgrade
> > > is already calling pg_resetwal, shouldn't pg_upgrade ideally just deal with
> > > this situation automatically by allowing the upgrade to also change this
> > > value, rather than forcing the user to make them match manually?
> >
> > The issue is that this is an initdb parameter, and pg_upgrade expects you
> > to have already initdb'd the destination cluster.  We could redefine that,
> > perhaps, but it'd be a large change in how one uses pg_upgrade and would
> > certainly break a lot of scripts.

I don't think we really need to redefine that, what it seems we'd need
to change is to not have pg_upgrade complain about things being
different between the two which don't actually matter to pg_upgrade.

> > I'm aware that we could use pg_resetwal to deal with this one specific
> > initdb parameter, but I see no point in hacking around the problem for
> > just one parameter.  The general principle remains that you need to
> > initdb the target with the same settings you used for the source.
>
> Yep, that's pretty much the issue.  :-)

Well, except that for pg_upgrade to do its job correctly, the two
clusters *don't* actually need be initdb'd exactly the same way, do they?

Sure, most options to initdb need to be the same between the old cluster
and the new cluster, but this specific option doesn't have to be, since
we require that it's a cleanly shut down cluster, so why are we
complaining about it if it's different..?

Thanks,

Stephen

Attachment

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #16498: The master inserts data successfully when the standby stopped in synchronous stream replication
Next
From: Bruce Momjian
Date:
Subject: Re: BUG #16497: old and new pg_controldata WAL segment sizes areinvalid or do not match