From 5d16db9a8308692f66b2836432fe84fbbec3e81f Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Fri, 17 Aug 2018 14:20:47 -0300 Subject: [PATCH] Support pg_basebackup -S in PostgresNode->backup() --- src/test/perl/PostgresNode.pm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index d9aeb277d9..2442251683 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -488,6 +488,9 @@ 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. +The keyword parameter replication_slot => 'myslot' can be used for the B<-S> +argument to B. + You'll have to configure a suitable B on the target server since it isn't done by default. @@ -495,14 +498,17 @@ 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 $port = $self->port; my $name = $self->name; + my @cmd = ("pg_basebackup", "-D", $backup_path, "-p", $port, "--no-sync"); + push @cmd, '-S', $params{replication_slot} + if defined $params{replication_slot}; + print "# Taking pg_basebackup $backup_name from node \"$name\"\n"; - TestLib::system_or_bail('pg_basebackup', '-D', $backup_path, '-p', $port, - '--no-sync'); + TestLib::system_or_bail(@cmd); print "# Backup finished\n"; } -- 2.11.0