From 38982b8b7bd9372ce247780021c93868cb5cb7b7 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Wed, 9 Jun 2021 12:30:28 -0400 Subject: [PATCH] Allow PostgresNode.pm's backup method to accept backup_options. Partial back-port of commit 081876d75ea15c3bd2ee5ba64a794fd8ea46d794. A test case for a pending bug fix needs this capability, but the code on 9.6 is significantly different, so I'm only back-patching this change as far as v10. We'll have to work around the problem another way in v9.6. Discussion: http://postgr.es/m/CAFiTN-tcivNvL0Rg6rD7_CErNfE75H7+gh9WbMxjbgsattja1Q@mail.gmail.com --- src/test/perl/PostgresNode.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index 72a1fe36779..de07277f0f3 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -546,8 +546,11 @@ sub append_conf =item $node->backup(backup_name) Create a hot backup with B in subdirectory B of -B<< $node->backup_dir >>, including the WAL. WAL files -fetched at the end of the backup, not streamed. +B<< $node->backup_dir >>, including the WAL. + +By default, WAL files are fetched at the end of the backup, not streamed. +You can adjust that and other things by passing an array of additional +B command line options in the keyword parameter backup_options. You'll have to configure a suitable B on the target server since it isn't done by default. @@ -556,7 +559,7 @@ target server since it isn't done by default. sub backup { - my ($self, $backup_name) = @_; + my ($self, $backup_name, %params) = @_; my $backup_path = $self->backup_dir . '/' . $backup_name; my $name = $self->name; @@ -564,7 +567,8 @@ sub backup TestLib::system_or_bail( 'pg_basebackup', '-D', $backup_path, '-h', $self->host, '-p', $self->port, '--checkpoint', - 'fast', '--no-sync'); + 'fast', '--no-sync', + @{ $params{backup_options} }); print "# Backup finished\n"; return; }