diff --git a/CHANGELOG.md b/CHANGELOG.md
index aa94d0b33..e37432147 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,9 @@ __No Release Date Set__
* Generate an error when `archive-check=y` but `archive_command` does not execute `pg_backrest`. _Contributed by Jason O'Donnell_
-* Provisional support for PostgreSQL 9.5 including partial WAL segments. The `archive_mode = 'always'` setting is not yet supported.
+* Support for PostgreSQL 9.5 partial WAL segments and `recovery_target_action` setting. The `archive_mode = 'always'` setting is not yet supported.
+
+* Support for `recovery_target = 'immediate'` recovery setting introduced in PostgreSQL 9.4.
## v0.89: Timeout Bug Fix and Restore Read-Only Repositories
__Released December 24, 2015__
diff --git a/doc/xml/change-log.xml b/doc/xml/change-log.xml
index da9436aa1..1a4f67e59 100644
--- a/doc/xml/change-log.xml
+++ b/doc/xml/change-log.xml
@@ -15,7 +15,10 @@
Generate an error when archive-check=y but archive_command does not execute pg_backrest. Contributed by Jason O'Donnell
- Provisional support for 9.5 including partial WAL segments. The archive_mode = 'always' setting is not yet supported.
+ Support for 9.5 partial WAL segments and recovery_target_action setting. The archive_mode = 'always' setting is not yet supported.
+
+
+ Support for recovery_target = 'immediate' recovery setting introduced in 9.4.
diff --git a/doc/xml/reference.xml b/doc/xml/reference.xml
index 95659c610..720581526 100644
--- a/doc/xml/reference.xml
+++ b/doc/xml/reference.xml
@@ -610,6 +610,7 @@
The following recovery types are supported:
default - recover to the end of the archive stream.
+
immediate - recover only until the database becomes consistent. This option is only supported on >= 9.4.
name - recover the restore point specified in --target.
xid - recover to the transaction id specified in --target.
time - recover to the time specified in --target.
@@ -633,16 +634,21 @@
Defines whether recovery to the target would be exclusive (the default is inclusive) and is only valid when --type is time or xid. For example, using --target-exclusive would exclude the contents of transaction 1007 when --type=xid and --target=1007. See the recovery_target_inclusive option in the docs for more information.
- y
+ n
-
diff --git a/lib/BackRest/Config/Config.pm b/lib/BackRest/Config/Config.pm
index e8a2e4292..10d6e7aeb 100644
--- a/lib/BackRest/Config/Config.pm
+++ b/lib/BackRest/Config/Config.pm
@@ -98,26 +98,38 @@ use constant INFO_OUTPUT_JSON => 'json';
####################################################################################################################################
# SOURCE Constants
####################################################################################################################################
-use constant SOURCE_CONFIG => 'config';
-use constant SOURCE_PARAM => 'param';
-use constant SOURCE_DEFAULT => 'default';
+use constant SOURCE_CONFIG => 'config';
+use constant SOURCE_PARAM => 'param';
+use constant SOURCE_DEFAULT => 'default';
####################################################################################################################################
# RECOVERY Type Constants
####################################################################################################################################
-use constant RECOVERY_TYPE_NAME => 'name';
+use constant RECOVERY_TYPE_NAME => 'name';
push @EXPORT, qw(RECOVERY_TYPE_NAME);
-use constant RECOVERY_TYPE_TIME => 'time';
+use constant RECOVERY_TYPE_TIME => 'time';
push @EXPORT, qw(RECOVERY_TYPE_TIME);
-use constant RECOVERY_TYPE_XID => 'xid';
+use constant RECOVERY_TYPE_XID => 'xid';
push @EXPORT, qw(RECOVERY_TYPE_XID);
-use constant RECOVERY_TYPE_PRESERVE => 'preserve';
+use constant RECOVERY_TYPE_PRESERVE => 'preserve';
push @EXPORT, qw(RECOVERY_TYPE_PRESERVE);
-use constant RECOVERY_TYPE_NONE => 'none';
+use constant RECOVERY_TYPE_NONE => 'none';
push @EXPORT, qw(RECOVERY_TYPE_NONE);
-use constant RECOVERY_TYPE_DEFAULT => 'default';
+use constant RECOVERY_TYPE_IMMEDIATE => 'immediate';
+ push @EXPORT, qw(RECOVERY_TYPE_IMMEDIATE);
+use constant RECOVERY_TYPE_DEFAULT => 'default';
push @EXPORT, qw(RECOVERY_TYPE_DEFAULT);
+####################################################################################################################################
+# RECOVERY Action Constants
+####################################################################################################################################
+use constant RECOVERY_ACTION_PAUSE => 'pause';
+ push @EXPORT, qw(RECOVERY_ACTION_PAUSE);
+use constant RECOVERY_ACTION_PROMOTE => 'promote';
+ push @EXPORT, qw(RECOVERY_ACTION_PROMOTE);
+use constant RECOVERY_ACTION_SHUTDOWN => 'shutdown';
+ push @EXPORT, qw(RECOVERY_ACTION_SHUTDOWN);
+
####################################################################################################################################
# Option Rules
####################################################################################################################################
@@ -153,15 +165,15 @@ use constant OPTION_RULE_TYPE => 'type';
####################################################################################################################################
# Option Types
####################################################################################################################################
-use constant OPTION_TYPE_BOOLEAN => 'boolean';
+use constant OPTION_TYPE_BOOLEAN => 'boolean';
push @EXPORT, qw(OPTION_TYPE_BOOLEAN);
-use constant OPTION_TYPE_FLOAT => 'float';
+use constant OPTION_TYPE_FLOAT => 'float';
push @EXPORT, qw(OPTION_TYPE_FLOAT);
-use constant OPTION_TYPE_HASH => 'hash';
+use constant OPTION_TYPE_HASH => 'hash';
push @EXPORT, qw(OPTION_TYPE_HASH);
-use constant OPTION_TYPE_INTEGER => 'integer';
+use constant OPTION_TYPE_INTEGER => 'integer';
push @EXPORT, qw(OPTION_TYPE_INTEGER);
-use constant OPTION_TYPE_STRING => 'string';
+use constant OPTION_TYPE_STRING => 'string';
push @EXPORT, qw(OPTION_TYPE_STRING);
####################################################################################################################################
@@ -210,8 +222,8 @@ use constant OPTION_TARGET => 'target';
push @EXPORT, qw(OPTION_TARGET);
use constant OPTION_TARGET_EXCLUSIVE => 'target-exclusive';
push @EXPORT, qw(OPTION_TARGET_EXCLUSIVE);
-use constant OPTION_TARGET_RESUME => 'target-resume';
- push @EXPORT, qw(OPTION_TARGET_RESUME);
+use constant OPTION_TARGET_ACTION => 'target-action';
+ push @EXPORT, qw(OPTION_TARGET_ACTION);
use constant OPTION_TARGET_TIMELINE => 'target-timeline';
push @EXPORT, qw(OPTION_TARGET_TIMELINE);
use constant OPTION_TYPE => 'type';
@@ -361,8 +373,8 @@ use constant OPTION_DEFAULT_RESTORE_SET => 'latest';
push @EXPORT, qw(OPTION_DEFAULT_RESTORE_SET);
use constant OPTION_DEFAULT_RESTORE_TARGET_EXCLUSIVE => false;
push @EXPORT, qw(OPTION_DEFAULT_RESTORE_TARGET_EXCLUSIVE);
-use constant OPTION_DEFAULT_RESTORE_TARGET_RESUME => false;
- push @EXPORT, qw(OPTION_DEFAULT_RESTORE_TARGET_RESUME);
+use constant OPTION_DEFAULT_RESTORE_TARGET_ACTION => RECOVERY_ACTION_PAUSE;
+ push @EXPORT, qw(OPTION_DEFAULT_RESTORE_TARGET_ACTION);
use constant OPTION_DEFAULT_RESTORE_TYPE => RECOVERY_TYPE_DEFAULT;
push @EXPORT, qw(OPTION_DEFAULT_RESTORE_TYPE);
use constant OPTION_DEFAULT_LOCK => true;
@@ -670,14 +682,14 @@ my %oOptionRule =
}
},
- &OPTION_TARGET_RESUME =>
+ &OPTION_TARGET_ACTION =>
{
- &OPTION_RULE_TYPE => OPTION_TYPE_BOOLEAN,
+ &OPTION_RULE_TYPE => OPTION_TYPE_STRING,
&OPTION_RULE_COMMAND =>
{
&CMD_RESTORE =>
{
- &OPTION_RULE_DEFAULT => OPTION_DEFAULT_RESTORE_TARGET_RESUME,
+ &OPTION_RULE_DEFAULT => OPTION_DEFAULT_RESTORE_TARGET_ACTION,
&OPTION_RULE_DEPEND =>
{
&OPTION_RULE_DEPEND_OPTION => OPTION_TYPE,
@@ -736,12 +748,13 @@ my %oOptionRule =
&OPTION_RULE_DEFAULT => OPTION_DEFAULT_RESTORE_TYPE,
&OPTION_RULE_ALLOW_LIST =>
{
- &RECOVERY_TYPE_NAME => true,
- &RECOVERY_TYPE_TIME => true,
- &RECOVERY_TYPE_XID => true,
- &RECOVERY_TYPE_PRESERVE => true,
- &RECOVERY_TYPE_NONE => true,
- &RECOVERY_TYPE_DEFAULT => true
+ &RECOVERY_TYPE_NAME => true,
+ &RECOVERY_TYPE_TIME => true,
+ &RECOVERY_TYPE_XID => true,
+ &RECOVERY_TYPE_PRESERVE => true,
+ &RECOVERY_TYPE_NONE => true,
+ &RECOVERY_TYPE_IMMEDIATE => true,
+ &RECOVERY_TYPE_DEFAULT => true
}
}
}
diff --git a/lib/BackRest/Config/ConfigHelpData.pm b/lib/BackRest/Config/ConfigHelpData.pm
index 95a62ed83..5f387761a 100644
--- a/lib/BackRest/Config/ConfigHelpData.pm
+++ b/lib/BackRest/Config/ConfigHelpData.pm
@@ -933,6 +933,22 @@ my $oConfigHelpData =
"Defines the recovery target when --type is name, xid, or time."
},
+ # TARGET-ACTION Option Help
+ #-------------------------------------------------------------------------------------------------------------------
+ 'target-action' =>
+ {
+ summary =>
+ "Action to take when recovery target is reached.",
+ description =>
+ "The following actions are supported:\n" .
+ "\n" .
+ "* pause - pause when recovery target is reached.\n" .
+ "* promote - promote and switch timeline when recovery target is reached.\n" .
+ "* shutdown - shutdown server when recovery target is reached.\n" .
+ "\n" .
+ "This option is only supported on PostgreSQL >= 9.5."
+ },
+
# TARGET-EXCLUSIVE Option Help
#-------------------------------------------------------------------------------------------------------------------
'target-exclusive' =>
@@ -946,17 +962,6 @@ my $oConfigHelpData =
"the PostgreSQL docs for more information."
},
- # TARGET-RESUME Option Help
- #-------------------------------------------------------------------------------------------------------------------
- 'target-resume' =>
- {
- summary =>
- "Resume when recovery target is reached.",
- description =>
- "Specifies whether recovery should resume when the recovery target is reached. See " .
- "pause_at_recovery_target in the PostgreSQL docs for more information."
- },
-
# TARGET-TIMELINE Option Help
#-------------------------------------------------------------------------------------------------------------------
'target-timeline' =>
@@ -980,6 +985,8 @@ my $oConfigHelpData =
"The following recovery types are supported:\n" .
"\n" .
"* default - recover to the end of the archive stream.\n" .
+ "* immediate - recover only until the database becomes consistent. This option is only supported on " .
+ "PostgreSQL >= 9.4.\n" .
"* name - recover the restore point specified in --target.\n" .
"* xid - recover to the transaction id specified in --target.\n" .
"* time - recover to the time specified in --target.\n" .
diff --git a/lib/BackRest/Restore.pm b/lib/BackRest/Restore.pm
index ea4117f93..21078616a 100644
--- a/lib/BackRest/Restore.pm
+++ b/lib/BackRest/Restore.pm
@@ -577,6 +577,7 @@ sub build
sub recovery
{
my $self = shift; # Class hash
+ my $fDbVersion = shift; # Version to restore
# Assign function parameters, defaults, and log debug info
my ($strOperation) = logDebugParam (OP_RESTORE_RECOVERY);
@@ -634,8 +635,13 @@ sub recovery
$strRecovery .= "restore_command = '" . commandWrite(CMD_ARCHIVE_GET) . " %f \"%p\"'\n";
}
- # If RECOVERY_TYPE_DEFAULT do not write target options
- if (!optionTest(OPTION_TYPE, RECOVERY_TYPE_DEFAULT))
+ # If type is RECOVERY_TYPE_IMMEDIATE
+ if (optionTest(OPTION_TYPE, RECOVERY_TYPE_IMMEDIATE))
+ {
+ $strRecovery .= "recovery_target = '" . RECOVERY_TYPE_IMMEDIATE . "'\n";
+ }
+ # If type is not RECOVERY_TYPE_DEFAULT write target options
+ elsif (!optionTest(OPTION_TYPE, RECOVERY_TYPE_DEFAULT))
{
# Write the recovery target
$strRecovery .= "recovery_target_" . optionGet(OPTION_TYPE) . " = '" . optionGet(OPTION_TARGET) . "'\n";
@@ -648,9 +654,25 @@ sub recovery
}
# Write pause_at_recovery_target
- if (optionGet(OPTION_TARGET_RESUME, false))
+ if (optionTest(OPTION_TARGET_ACTION))
{
- $strRecovery .= "pause_at_recovery_target = 'false'\n";
+ my $strTargetAction = optionGet(OPTION_TARGET_ACTION);
+
+ if ($strTargetAction ne OPTION_DEFAULT_RESTORE_TARGET_ACTION)
+ {
+ if ($fDbVersion >= 9.5)
+ {
+ $strRecovery .= "recovery_target_action = '${strTargetAction}'\n";
+ }
+ elsif ($fDbVersion >= 9.1)
+ {
+ $strRecovery .= "pause_at_recovery_target = 'false'\n";
+ }
+ else
+ {
+ confess &log(ERROR, OPTION_TARGET_ACTION . ' option is only available in PostgreSQL >= 9.1')
+ }
+ }
}
# Write recovery_target_timeline
@@ -866,7 +888,7 @@ sub process
}
# Create recovery.conf file
- $self->recovery();
+ $self->recovery($oManifest->get(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_DB_VERSION));
# Copy pg_control last
&log(INFO, 'restore ' . FILE_PG_CONTROL . ' (copied last to ensure aborted restores cannot be started)');
diff --git a/test/lib/BackRestTest/BackupCommonTest.pm b/test/lib/BackRestTest/BackupCommonTest.pm
index b9203051c..06f73a5cf 100644
--- a/test/lib/BackRestTest/BackupCommonTest.pm
+++ b/test/lib/BackRestTest/BackupCommonTest.pm
@@ -1295,7 +1295,7 @@ sub BackRestTestBackup_Restore
my $strType = shift;
my $strTarget = shift;
my $bTargetExclusive = shift;
- my $bTargetResume = shift;
+ my $strTargetAction = shift;
my $strTargetTimeline = shift;
my $oRecoveryHashRef = shift;
my $strComment = shift;
@@ -1317,7 +1317,8 @@ sub BackRestTestBackup_Restore
($strTarget ? ", target '${strTarget}'" : '') .
($strTargetTimeline ? ", timeline '${strTargetTimeline}'" : '') .
(defined($bTargetExclusive) && $bTargetExclusive ? ', exclusive' : '') .
- (defined($bTargetResume) && $bTargetResume ? ', resume' : '') .
+ (defined($strTargetAction) && $strTargetAction ne OPTION_DEFAULT_RESTORE_TARGET_ACTION
+ ? ', ' . OPTION_TARGET_ACTION . "=${strTargetAction}" : '') .
(defined($oRemapHashRef) ? ', remap' : '') .
(defined($iExpectedExitStatus) ? ", expect exit ${iExpectedExitStatus}" : '') .
(defined($strComment) ? " (${strComment})" : '');
@@ -1367,7 +1368,8 @@ sub BackRestTestBackup_Restore
(defined($strTarget) ? " --target=\"${strTarget}\"" : '') .
(defined($strTargetTimeline) ? " --target-timeline=\"${strTargetTimeline}\"" : '') .
(defined($bTargetExclusive) && $bTargetExclusive ? " --target-exclusive" : '') .
- (defined($bTargetResume) && $bTargetResume ? " --target-resume" : '') .
+ (defined($strTargetAction) && $strTargetAction ne OPTION_DEFAULT_RESTORE_TARGET_ACTION
+ ? ' --' . OPTION_TARGET_ACTION . "=${strTargetAction}" : '') .
" --stanza=${strStanza} restore",
{iExpectedExitStatus => $iExpectedExitStatus, strComment => $strComment, oLogTest => $oBackupLogTest});
diff --git a/test/lib/BackRestTest/BackupTest.pm b/test/lib/BackRestTest/BackupTest.pm
index 1a2b5389a..71f196261 100755
--- a/test/lib/BackRestTest/BackupTest.pm
+++ b/test/lib/BackRestTest/BackupTest.pm
@@ -1374,7 +1374,6 @@ sub BackRestTestBackup_Test
BackRestTestBackup_Init($bRemote, $oFile, false, undef, $iThreadMax);
# Static backup parameters
- # my $bSynthetic = false;
my $fTestDelay = 1;
# Variable backup parameters
@@ -1383,10 +1382,9 @@ sub BackRestTestBackup_Test
my $strType = undef;
my $strTarget = undef;
my $bTargetExclusive = false;
- my $bTargetResume = false;
+ my $strTargetAction;
my $strTargetTimeline = undef;
my $oRecoveryHashRef = undef;
- # my $strTestPoint = undef;
my $strComment = undef;
my $iExpectedExitStatus = undef;
@@ -1402,7 +1400,7 @@ sub BackRestTestBackup_Test
# Test invalid archive command
#-----------------------------------------------------------------------------------------------------------------------
$strType = BACKUP_TYPE_FULL;
- $strComment = 'archive_command invalid';
+ $strComment = 'fail on invalid archive_command';
# Check archive_command_not_set error
BackRestTestBackup_ClusterStop();
@@ -1552,7 +1550,7 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_DEFAULT;
$strTarget = undef;
$bTargetExclusive = undef;
- $bTargetResume = undef;
+ $strTargetAction = undef;
$strTargetTimeline = undef;
$oRecoveryHashRef = undef;
$strComment = undef;
@@ -1565,7 +1563,7 @@ sub BackRestTestBackup_Test
$iExpectedExitStatus = ERROR_POSTMASTER_RUNNING;
BackRestTestBackup_Restore($oFile, 'latest', $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStop();
@@ -1575,7 +1573,7 @@ sub BackRestTestBackup_Test
$iExpectedExitStatus = ERROR_RESTORE_PATH_NOT_EMPTY;
BackRestTestBackup_Restore($oFile, 'latest', $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
# Drop and recreate db path
@@ -1589,12 +1587,39 @@ sub BackRestTestBackup_Test
$iExpectedExitStatus = undef;
BackRestTestBackup_Restore($oFile, 'latest', $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStart();
BackRestTestBackup_PgSelectOneTest('select message from test', $strNameMessage);
+ # Restore (restore type = immediate, inclusive)
+ #-----------------------------------------------------------------------------------------------------------------------
+ if (BackRestTestCommon_DbVersion() >= 9.4)
+ {
+ $bDelta = false;
+ $bForce = true;
+ $strType = RECOVERY_TYPE_IMMEDIATE;
+ $strTarget = undef;
+ $bTargetExclusive = undef;
+ $strTargetAction = undef;
+ $strTargetTimeline = undef;
+ $oRecoveryHashRef = undef;
+ $strComment = undef;
+ $iExpectedExitStatus = undef;
+
+ &log(INFO, " testing recovery type = ${strType}");
+
+ BackRestTestBackup_ClusterStop();
+
+ BackRestTestBackup_Restore($oFile, $strFullBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
+ $oRecoveryHashRef, $strComment, $iExpectedExitStatus, undef);
+
+ BackRestTestBackup_ClusterStart();
+ BackRestTestBackup_PgSelectOneTest('select message from test', $strFullMessage);
+ }
+
# Restore (restore type = xid, inclusive)
#-----------------------------------------------------------------------------------------------------------------------
$bDelta = false;
@@ -1602,7 +1627,7 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_XID;
$strTarget = $strXidTarget;
$bTargetExclusive = undef;
- $bTargetResume = BackRestTestCommon_DbVersion() >= 9.1 && BackRestTestCommon_DbVersion() < 9.5 ? true : undef;
+ $strTargetAction = BackRestTestCommon_DbVersion() >= 9.1 ? 'promote' : undef;
$strTargetTimeline = undef;
$oRecoveryHashRef = undef;
$strComment = undef;
@@ -1613,7 +1638,7 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ClusterStop();
BackRestTestBackup_Restore($oFile, $strIncrBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus, '--no-tablespace', false);
# Save recovery file to test so we can use it in the next test
@@ -1632,7 +1657,7 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_PRESERVE;
$strTarget = undef;
$bTargetExclusive = undef;
- $bTargetResume = undef;
+ $strTargetAction = undef;
$strTargetTimeline = undef;
$oRecoveryHashRef = undef;
$strComment = undef;
@@ -1647,7 +1672,7 @@ sub BackRestTestBackup_Test
PATH_ABSOLUTE, BackRestTestCommon_DbCommonPathGet() . '/recovery.conf');
BackRestTestBackup_Restore($oFile, 'latest', $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStart();
@@ -1663,7 +1688,7 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_TIME;
$strTarget = $strTimeTarget;
$bTargetExclusive = undef;
- $bTargetResume = undef;
+ $strTargetAction = undef;
$strTargetTimeline = undef;
$oRecoveryHashRef = undef;
$strComment = undef;
@@ -1674,7 +1699,7 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ClusterStop();
BackRestTestBackup_Restore($oFile, $strFullBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStart();
@@ -1687,7 +1712,7 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_XID;
$strTarget = $strXidTarget;
$bTargetExclusive = true;
- $bTargetResume = undef;
+ $strTargetAction = undef;
$strTargetTimeline = undef;
$oRecoveryHashRef = undef;
$strComment = undef;
@@ -1698,7 +1723,7 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ClusterStop();
BackRestTestBackup_Restore($oFile, $strIncrBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStart();
@@ -1713,7 +1738,7 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_NAME;
$strTarget = $strNameTarget;
$bTargetExclusive = undef;
- $bTargetResume = undef;
+ $strTargetAction = undef;
$strTargetTimeline = undef;
$oRecoveryHashRef = undef;
$strComment = undef;
@@ -1724,7 +1749,7 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ClusterStop();
BackRestTestBackup_Restore($oFile, 'latest', $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStart();
@@ -1740,8 +1765,8 @@ sub BackRestTestBackup_Test
$strType = RECOVERY_TYPE_DEFAULT;
$strTarget = undef;
$bTargetExclusive = undef;
- $bTargetResume = undef;
- $strTargetTimeline = 3;
+ $strTargetAction = undef;
+ $strTargetTimeline = 4;
$oRecoveryHashRef = BackRestTestCommon_DbVersion() >= 9.0 ? {'standby-mode' => 'on'} : undef;
$strComment = undef;
$iExpectedExitStatus = undef;
@@ -1751,7 +1776,7 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ClusterStop();
BackRestTestBackup_Restore($oFile, $strIncrBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
- $strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
+ $strType, $strTarget, $bTargetExclusive, $strTargetAction, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
BackRestTestBackup_ClusterStart(undef, undef, true);