Re: pgsql: Allow pg_basebackup to stream transaction log in tar mode

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: pgsql-committers <pgsql-committers(at)postgresql(dot)org>
Subject: Re: pgsql: Allow pg_basebackup to stream transaction log in tar mode
Date: 2016-10-23 14:04:37
Message-ID: CABUevEybv47X9mLSfcodCJQKMjuAS58oNx0iNkxJ8cSyUjFqiQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

The remaining windows buildfarm build issue looks like this:

src/bin/pg_basebackup/receivelog.c(135): error C2039: '_commit' : is
not a member of 'WalWriteMethod'
[C:\buildfarm\buildenv\HEAD\pgsql.build\pg_basebackup.vcxproj]

AFAICT this comes from using walmethod->fsync(), and we have a #define
changing fsync() to _commit (port/win32.h, line 70).

The easiest might just be to rename walmethod->fsync() to
walmethod->do_fsync(), so we don't have to mess with any other code.

Thoughts?

//Magnus

On Sun, Oct 23, 2016 at 3:55 PM, Magnus Hagander <magnus(at)hagander(dot)net>
wrote:

> That broke some buildfarm. Looking into it.
>
> //Magnus
>
> On Sun, Oct 23, 2016 at 3:28 PM, Magnus Hagander <magnus(at)hagander(dot)net>
> wrote:
>
>> Allow pg_basebackup to stream transaction log in tar mode
>>
>> This will write the received transaction log into a file called
>> pg_wal.tar(.gz) next to the other tarfiles instead of writing it to
>> base.tar. When using fetch mode, the transaction log is still written to
>> base.tar like before, and when used against a pre-10 server, the file
>> is named pg_xlog.tar.
>>
>> To do this, implement a new concept of a "walmethod", which is
>> responsible for writing the WAL. Two implementations exist, one that
>> writes to a plain directory (which is also used by pg_receivexlog) and
>> one that writes to a tar file with optional compression.
>>
>> Reviewed by Michael Paquier
>>
>> Branch
>> ------
>> master
>>
>> Details
>> -------
>> http://git.postgresql.org/pg/commitdiff/56c7d8d4552180fd66fe
>> 48423bb2a9bb767c2d87
>>
>> Modified Files
>> --------------
>> doc/src/sgml/ref/pg_basebackup.sgml | 18 +-
>> src/bin/pg_basebackup/Makefile | 2 +-
>> src/bin/pg_basebackup/pg_basebackup.c | 62 +-
>> src/bin/pg_basebackup/pg_receivexlog.c | 10 +-
>> src/bin/pg_basebackup/receivelog.c | 316 ++++------
>> src/bin/pg_basebackup/receivelog.h | 3 +-
>> src/bin/pg_basebackup/t/010_pg_basebackup.pl | 6 +-
>> src/bin/pg_basebackup/walmethods.c | 886
>> +++++++++++++++++++++++++++
>> src/bin/pg_basebackup/walmethods.h | 45 ++
>> src/include/pgtar.h | 1 +
>> src/port/tar.c | 2 +-
>> 11 files changed, 1107 insertions(+), 244 deletions(-)
>>
>>
>> --
>> Sent via pgsql-committers mailing list (pgsql-committers(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-committers
>>
>
>
>
>

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Magnus Hagander 2016-10-23 14:09:09 pgsql: Fix obviously too quickly applied fix to zlib issue
Previous Message Magnus Hagander 2016-10-23 14:02:37 pgsql: Fix walmethods.c build without libz