On 2/7/18 13:34, Bossart, Nathan wrote:
> Here is a patch to allow users to change the WAL segment size of a cluster 
> with
> pg_resetwal.  Like the '--wal-segize' option in initdb, the new '-s' option
> accepts segment sizes in megabytes.

Or how about we call the new option, um, --wal-segsize?

> The first is a division-by-zero error caused when the control data must be
> guessed.  If the control data is damaged, WalSegSz will not be set to the
> guessed WAL segment size, resulting in an error during XLogFromFileName().  
> The
> attached patch resolves this issue by ensuring WalSegSz is set to a valid 
> value
> after either reading or guessing the control values.

I noticed this issue in pg_controldata too.  Maybe that should be
combined in a separate patch.

> Note that some segment size changes will cause old WAL file names to be 
> reused.
> The new documentation for '-s' contains a note warning of this side effect.  I
> considered a couple of strategies to prevent this, but I chose not to include
> any in the patch based on previous correspondence in this thread.  If file 
> name
> overlap is an issue, users can already use the '-l' option to set a safe WAL
> starting address.

The patch "Configurable file mode mask" contains the beginning of a test
suite for pg_resetwal.  It would be great if we could get a test case
for this new functionality implemented.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to