Re: [HACKERS] Make pg_basebackup -x stream the default - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [HACKERS] Make pg_basebackup -x stream the default
Date
Msg-id CABUevExipy+mGK2prOF+yMmo5Yw50ZEaiSoE8GBBZk7MRsO8GQ@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Make pg_basebackup -x stream the default  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: [HACKERS] Make pg_basebackup -x stream the default
List pgsql-hackers


On Tue, Dec 20, 2016 at 11:53 PM, Michael Paquier <michael.paquier@gmail.com> wrote:
On Tue, Dec 20, 2016 at 10:38 PM, Fujii Masao <masao.fujii@gmail.com> wrote:
> On Mon, Dec 19, 2016 at 7:51 PM, Vladimir Rusinov <vrusinov@google.com> wrote:
>> The server must also be configured with max_wal_senders set high
>> enough to leave at least one session available for the backup.
>
> I think that it's better to explain explicitly here that max_wal_senders
> should be higher than one by default.

Recovery tests are broken by this patch, the backup() method in
PostgresNode.pm uses pg_basebackup -x:
sub backup
{
    my ($self, $backup_name) = @_;
    my $backup_path = $self->backup_dir . '/' . $backup_name;
    my $port        = $self->port;
    my $name        = $self->name;

    print "# Taking pg_basebackup $backup_name from node \"$name\"\n";
    TestLib::system_or_bail('pg_basebackup', '-D', $backup_path, '-p', $port,
        '-x', '--no-sync');
    print "# Backup finished\n";
}

Oh bleh. That's what I get for just running the tests for pg_basebackup itself.

I removed it completely in this patch, making it use streaming. Or is there a particular reason we want it to use fetch, that I'm not aware of? 

Attached is a new patch with this fix, and those suggested by Fujii as well.

--
Attachment

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [HACKERS] Make pg_basebackup -x stream the default
Next
From: Magnus Hagander
Date:
Subject: Re: [HACKERS] port of INSTALL file generation to XSLT