Re: [HACKERS] pg_upgrade to clusters with a different WAL segment size

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Jeremy Schneider <schneider@ardentperf.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael.paquier@gmail.com>, Andres Freund <andres@anarazel.de>, "Bossart, Nathan" <bossartn@amazon.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-11-17T23:26:29Z
Lists: pgsql-hackers
On Fri, Nov 17, 2017 at 5:46 PM, Jeremy Schneider
<schneider@ardentperf.com> wrote:
> Having pg_upgrade simply allow an upgrade where the WAL sizes don't match
> between the old cluster and the new cluster seems fairly trivial.
...
> Writing code to change the WAL size on an existing cluster will be a little more
> complex.  We will need to delete all WAL files and recreate them at the new
> sizes. We will need to either (1) be absolutely sure that there was a
> clean shutdown
> or (2) copy WAL data from the old files to the new files.

I think pg_resetwal has most of this logic already.

> These two ideas don't seem mutually exclusive to me.  If pg_upgrade
> allows working
> with different WAL sizes, it doesn't mean we can't still introduce a
> utility to change the
> WAL size on running clusters.

I don't think anyone is talking about doing this on a running cluster.
But it seems simple enough on a cluster that has been shut down.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Commits

  1. pg_resetwal: Prevent division-by-zero errors

  2. Make WAL segment size configurable at initdb time.