Re: How to recover from compressed wal archieve in windows - Mailing list pgsql-general

From Kyotaro Horiguchi
Subject Re: How to recover from compressed wal archieve in windows
Date
Msg-id 20200521.133811.1335593976252095567.horikyota.ntt@gmail.com
Whole thread Raw
In response to Re: How to recover from compressed wal archieve in windows  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: How to recover from compressed wal archieve in windows  (Michael Paquier <michael@paquier.xyz>)
List pgsql-general
At Wed, 20 May 2020 19:25:50 -0700, Adrian Klaver <adrian.klaver@aklaver.com> wrote in 
> On 5/20/20 6:27 PM, Michael Paquier wrote:
> > On Wed, May 20, 2020 at 11:36:09AM -0700, Adrian Klaver wrote:
> >> The next problem is that I'm pretty sure a WAL file with *.gz
> >> extension will
> >> not be able to be processed directly by the server. So you are going
> >> to have
> >> to uncompress it at some point before it gets restored.
> > The short answer to that question is no.  The backend does not
> > uncompress the segment file.  What happens is that the restore command
> > copies the file defined by %f to the location of %p where is gets
> > renamed to RECOVERYXLOG, and we expect the restore command to drop a
> > 16MB file in og_wal/.  There is a check on the size, which would fail
> > if the WAL segment is still compressed.  This logic is in
> > RestoreArchivedFile() in xlogarchive.c.
> 
> I figured that would be the case.
> 
> So how is this handled?:
> 
> wal_compression (boolean)
> 
>     When this parameter is on, the PostgreSQL server compresses a full
>     page image written to WAL when full_page_writes is on or during a base
>     backup. A compressed page image will be decompressed during WAL
>     replay. The default value is off. Only superusers can change this
>     setting.

Difference from decompression by restore_command?

A WAL (segment) file is filled with multiple WAL records. The "full
page image", which is described to be compressed by the parameter, is
a part of WAL record. A WAL file is filled with maybe-compressed WAL
records and has the same size in the case where wal_compression is on.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: How to recover from compressed wal archieve in windows
Next
From: Christopher Pereira
Date:
Subject: Re: pg_basebackup + incremental base backups