1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-03-05 15:05:48 +02:00

v0.65: Improved resume and restore logging, compact restores

* Better resume support.  Resumed files are checked to be sure they have not been modified and the manifest is saved more often to preserve checksums as the backup progresses.  More unit tests to verify each resume case.

* Resume is now optional.  Use the `resume` setting or `--no-resume` from the command line to disable.

* More info messages during restore.  Previously, most of the restore messages were debug level so not a lot was output in the log.

* Fixed an issue where an absolute path was not written into recovery.conf when the restore was run with a relative path.

* Added `tablespace` setting to allow tablespaces to be restored into the `pg_tblspc` path.  This produces compact restores that are convenient for development, staging, etc.  Currently these restores cannot be backed up as PgBackRest expects only links in the `pg_tblspc` path.
This commit is contained in:
David Steele 2015-05-11 18:29:40 -04:00
parent a9b9ec2492
commit 49fe40850f
29 changed files with 7541 additions and 452 deletions

View File

@ -58,7 +58,7 @@ cpanm JSON
cpanm Net::OpenSSH
cpanm IPC::System::Simple
cpanm Digest::SHA
cpanm Compress::ZLib
cpanm Compress::Zlib
cpanm threads (update this package)
cpanm Thread::Queue (update this package)
```
@ -563,6 +563,24 @@ default: n
example: hardlink=y
```
##### `manifest-save-threshold` key
Defines how often the manifest will be saved during a backup (in bytes). Saving the manifest is important because it stores the checksums and allows the resume function to work efficiently. The actual threshold used is 1% of the backup size or `manifest-save-threshold`, whichever is greater.
```
required: n
default: 1073741824
example: manifest-save-threshold=5368709120
```
##### `resume` key
Defines whether the resume feature is enabled. Resume can greatly reduce the amount of time required to run a backup after a previous backup of the same type has failed. It adds complexity, however, so it may be desirable to disable in environments that do not require the feature.
```
required: n
default: y
example: resume=false
```
##### `thread-max` key
Defines the number of threads to use for backup or restore. Each thread will perform compression and transfer to make the backup run faster, but don't set `thread-max` so high that it impacts database performance during backup.
@ -613,7 +631,7 @@ example: archive-async=y
##### `archive-max-mb` key
Limits the amount of archive log that will be written locally when `compress-async=y`. After the limit is reached, the following will happen:
Limits the amount of archive log that will be written locally when `archive-async=y`. After the limit is reached, the following will happen:
- PgBackRest will notify Postgres that the archive was succesfully backed up, then DROP IT.
- An error will be logged to the console and also to the Postgres log.
@ -629,6 +647,19 @@ required: n
example: archive-max-mb=1024
```
#### `restore` section
The `restore` section defines settings used for restoring backups.
##### `tablespace` key
Defines whether tablespaces will be be restored into their original (or remapped) locations or stored directly under the `pg_tblspc` path. Disabling this setting produces compact restores that are convenient for development, staging, etc. Currently these restores cannot be backed up as PgBackRest expects only links in the `pg_tblspc` path. If no tablespaces are present this this setting has no effect.
```
required: n
default: y
example: tablespace=n
```
#### `expire` section
The `expire` section defines how long backups will be retained. Expiration only occurs when the number of complete backups exceeds the allowed retention. In other words, if full-retention is set to 2, then there must be 3 complete backups before the oldest will be expired. Make sure you always have enough space for rentention + 1 backups.
@ -698,11 +729,23 @@ example: db-path=/data/db
## Release Notes
### v0.61: bug fix for uncompressed remote destination
### v0.65: Improved resume and restore logging, compact restores
* Better resume support. Resumed files are checked to be sure they have not been modified and the manifest is saved more often to preserve checksums as the backup progresses. More unit tests to verify each resume case.
* Resume is now optional. Use the `resume` setting or `--no-resume` from the command line to disable.
* More info messages during restore. Previously, most of the restore messages were debug level so not a lot was output in the log.
* Fixed an issue where an absolute path was not written into recovery.conf when the restore was run with a relative path.
* Added `tablespace` setting to allow tablespaces to be restored into the `pg_tblspc` path. This produces compact restores that are convenient for development, staging, etc. Currently these restores cannot be backed up as PgBackRest expects only links in the `pg_tblspc` path.
### v0.61: Bug fix for uncompressed remote destination
* Fixed a buffering error that could occur on large, highly-compressible files when copying to an uncompressed remote destination. The error was detected in the decompression code and resulted in a failed backup rather than corruption so it should not affect successful backups made with previous versions.
### v0.60: better version support and WAL improvements
### v0.60: Better version support and WAL improvements
* Pushing duplicate WAL now generates an error. This worked before only if checksums were disabled.
@ -712,7 +755,7 @@ example: db-path=/data/db
* Improved threading model by starting threads early and terminating them late.
### v0.50: restore and much more
### v0.50: Restore and much more
* Added restore functionality.

View File

@ -1 +1 @@
0.61
0.65

View File

@ -19,6 +19,7 @@ use BackRest::Config;
use BackRest::Remote qw(DB BACKUP NONE);
use BackRest::Db;
use BackRest::File;
use BackRest::Lock;
use BackRest::Archive;
use BackRest::Backup;
use BackRest::Restore;
@ -77,7 +78,7 @@ pg_backrest.pl [options] [operation]
=cut
####################################################################################################################################
# SAFE_EXIT - terminate all SSH sessions when the script is terminated
# SAFE_EXIT - terminate all threads and SSH connections when the script is terminated
####################################################################################################################################
sub safe_exit
{
@ -124,6 +125,11 @@ if (operationTest(OP_ARCHIVE_PUSH) || operationTest(OP_ARCHIVE_GET))
safe_exit(new BackRest::Archive()->process());
}
####################################################################################################################################
# Acquire the operation lock
####################################################################################################################################
lockAcquire(operationGet());
####################################################################################################################################
# Open the log file
####################################################################################################################################
@ -155,10 +161,6 @@ if (operationTest(OP_RESTORE))
confess &log(ASSERT, 'restore operation must be performed locally on the db server');
}
# Set the lock path
my $strLockPath = optionGet(OPTION_REPO_PATH) . '/lock/' .
optionGet(OPTION_STANZA) . '-' . operationGet() . '.lock';
# Do the restore
new BackRest::Restore
(
@ -192,15 +194,6 @@ if (optionRemoteTypeTest(BACKUP))
confess &log(ERROR, 'backup and expire operations must run on the backup host');
}
# Set the lock path
my $strLockPath = optionGet(OPTION_REPO_PATH) . '/lock/' . optionGet(OPTION_STANZA) . '-' . operationGet() . '.lock';
if (!lock_file_create($strLockPath))
{
&log(ERROR, 'backup process is already running for stanza ' . optionGet(OPTION_STANZA) . ' - exiting');
safe_exit(0);
}
# Initialize the db object
my $oDb;
@ -264,11 +257,14 @@ if (operationTest(OP_EXPIRE))
optionGet(OPTION_RETENTION_ARCHIVE_TYPE, false),
optionGet(OPTION_RETENTION_ARCHIVE, false)
);
lock_file_remove();
}
# Cleanup backup (should be removed when backup becomes an object)
backup_cleanup();
# Release the operation lock
lockRelease();
safe_exit(0);
};

View File

@ -60,7 +60,7 @@
cpanm Net::OpenSSH
cpanm IPC::System::Simple
cpanm Digest::SHA
cpanm Compress::ZLib
cpanm Compress::Zlib
cpanm threads (update this package)
cpanm Thread::Queue (update this package)
</code-block>
@ -527,6 +527,19 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
<example>y</example>
</config-key>
<!-- CONFIG - BACKUP SECTION - MANIFEST-SAVE-THRESHOLD -->
<config-key id="manifest-save-threshold">
<text>Defines how often the manifest will be saved during a backup (in bytes). Saving the manifest is important because it stores the checksums and allows the resume function to work efficiently. The actual threshold used is 1% of the backup size or <setting>manifest-save-threshold</setting>, whichever is greater.</text>
<example>5368709120</example>
</config-key>
<!-- CONFIG - BACKUP SECTION - RESUME -->
<config-key id="resume">
<text>Defines whether the resume feature is enabled. Resume can greatly reduce the amount of time required to run a backup after a previous backup of the same type has failed. It adds complexity, however, so it may be desirable to disable in environments that do not require the feature.</text>
<example>false</example>
</config-key>
<!-- CONFIG - BACKUP SECTION - THEAD-MAX -->
<config-key id="thread-max">
<text>Defines the number of threads to use for backup or restore. Each thread will perform compression and transfer to make the backup run faster, but don't set <setting>thread-max</setting> so high that it impacts database performance during backup.</text>
@ -560,7 +573,6 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
<config-section id="archive">
<text>The <setting>archive</setting> section defines parameters when doing async archiving. This means that the archive files will be stored locally, then a background process will pick them and move them to the backup.</text>
<!-- CONFIG - ARCHIVE SECTION - PATH KEY -->
<config-key-list>
<!-- CONFIG - ARCHIVE SECTION - ARCHIVE-ASYNC KEY -->
<config-key id="archive-async">
@ -570,7 +582,7 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
<!-- CONFIG - ARCHIVE SECTION - ARCHIVE-MAX-MB KEY -->
<config-key id="archive-max-mb">
<text>Limits the amount of archive log that will be written locally when <setting>compress-async=y</setting>. After the limit is reached, the following will happen:
<text>Limits the amount of archive log that will be written locally when <setting>archive-async=y</setting>. After the limit is reached, the following will happen:
<ol>
<li>PgBackRest will notify Postgres that the archive was succesfully backed up, then DROP IT.</li>
<li>An error will be logged to the console and also to the Postgres log.</li>
@ -587,6 +599,19 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
</config-key-list>
</config-section>
<!-- CONFIG - RESTORE -->
<config-section id="restore">
<text>The <setting>restore</setting> section defines settings used for restoring backups.</text>
<config-key-list>
<!-- CONFIG - RESTORE SECTION - TABLESPACE KEY -->
<config-key id="tablespace">
<text>Defines whether tablespaces will be be restored into their original (or remapped) locations or stored directly under the <path>pg_tblspc</path> path. Disabling this setting produces compact restores that are convenient for development, staging, etc. Currently these restores cannot be backed up as <backrest/> expects only links in the <path>pg_tblspc</path> path. If no tablespaces are present this this setting has no effect.</text>
<example>n</example>
</config-key>
</config-key-list>
</config-section>
<!-- CONFIG - EXPIRE -->
<config-section id="expire">
<text>The <setting>expire</setting> section defines how long backups will be retained. Expiration only occurs when the number of complete backups exceeds the allowed retention. In other words, if full-retention is set to 2, then there must be 3 complete backups before the oldest will be expired. Make sure you always have enough space for rentention + 1 backups.</text>
@ -656,7 +681,27 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
<release title="Release Notes">
<release-version-list>
<release-version version="0.61" title="bug fix for uncompressed remote destination">
<release-version version="0.65" title="Improved resume and restore logging, compact restores">
<release-feature-bullet-list>
<release-feature>
<text>Better resume support. Resumed files are checked to be sure they have not been modified and the manifest is saved more often to preserve checksums as the backup progresses. More unit tests to verify each resume case.</text>
</release-feature>
<release-feature>
<text>Resume is now optional. Use the <setting>resume</setting> setting or <param>--no-resume</param> from the command line to disable.</text>
</release-feature>
<release-feature>
<text>More info messages during restore. Previously, most of the restore messages were debug level so not a lot was output in the log.</text>
</release-feature>
<release-feature>
<text>Fixed an issue where an absolute path was not written into recovery.conf when the restore was run with a relative path.</text>
</release-feature>
<release-feature>
<text>Added <setting>tablespace</setting> setting to allow tablespaces to be restored into the <path>pg_tblspc</path> path. This produces compact restores that are convenient for development, staging, etc. Currently these restores cannot be backed up as <backrest/> expects only links in the <path>pg_tblspc</path> path.</text>
</release-feature>
</release-feature-bullet-list>
</release-version>
<release-version version="0.61" title="Bug fix for uncompressed remote destination">
<release-feature-bullet-list>
<release-feature>
<text>Fixed a buffering error that could occur on large, highly-compressible files when copying to an uncompressed remote destination. The error was detected in the decompression code and resulted in a failed backup rather than corruption so it should not affect successful backups made with previous versions.</text>
@ -664,7 +709,7 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
</release-feature-bullet-list>
</release-version>
<release-version version="0.60" title="better version support and WAL improvements">
<release-version version="0.60" title="Better version support and WAL improvements">
<release-feature-bullet-list>
<release-feature>
<text>Pushing duplicate WAL now generates an error. This worked before only if checksums were disabled.</text>
@ -681,7 +726,7 @@ Run a <id>full</id> backup on the <id>db</id> stanza. <param>--type</param> can
</release-feature-bullet-list>
</release-version>
<release-version version="0.50" title="restore and much more">
<release-version version="0.50" title="Restore and much more">
<release-feature-bullet-list>
<release-feature>
<text>Added restore functionality.</text>

Binary file not shown.

View File

@ -15,6 +15,7 @@ use lib dirname($0);
use BackRest::Utility;
use BackRest::Exception;
use BackRest::Config;
use BackRest::Lock;
use BackRest::File;
use BackRest::Remote;
@ -117,8 +118,7 @@ sub walFileName
my $iWaitSeconds = shift;
# Record the start time
my $lTime = time();
my $fSleep = .1;
my $oWait = waitInit($iWaitSeconds);
# Determine the path where the requested WAL segment is located
my $strArchivePath = dirname($oFile->path_get(PATH_BACKUP_ARCHIVE, $strWalSegment));
@ -140,20 +140,13 @@ sub walFileName
{
confess &log(ASSERT, @stryWalFileName . " duplicate files found for ${strWalSegment}", ERROR_ARCHIVE_DUPLICATE);
}
# If waiting then sleep before trying again
if (defined($iWaitSeconds))
{
hsleep($fSleep);
$fSleep = $fSleep * 2 < $iWaitSeconds - (time() - $lTime) ? $fSleep * 2 : ($iWaitSeconds - (time() - $lTime)) + .1;
}
}
while (defined($iWaitSeconds) && (time() - $lTime) < $iWaitSeconds);
while (waitMore($oWait));
# If waiting and no WAL segment was found then throw an error
if (defined($iWaitSeconds))
{
confess &log(ERROR, "could not find WAL segment ${strWalSegment} after " . (time() - $lTime) . ' second(s)');
confess &log(ERROR, "could not find WAL segment ${strWalSegment} after " . waitInterval($oWait) . ' second(s)');
}
return undef;
@ -397,13 +390,7 @@ sub pushProcess
}
# Create a lock file to make sure async archive-push does not run more than once
my $strLockPath = "${strArchivePath}/lock/" . optionGet(OPTION_STANZA) . "-archive.lock";
if (!lock_file_create($strLockPath))
{
&log(DEBUG, 'archive-push process is already running - exiting');
return 0;
}
lockAcquire(operationGet());
# Open the log file
log_file_set(optionGet(OPTION_REPO_PATH) . '/log/' . optionGet(OPTION_STANZA) . '-archive-async');
@ -428,7 +415,7 @@ sub pushProcess
}
}
lock_file_remove();
lockRelease();
return 0;
}

View File

@ -170,7 +170,6 @@ sub backup_file_not_in_manifest
$oFile->manifest($strPathType, undef, \%oFileHash);
my @stryFile;
my $iFileTotal = 0;
foreach my $strName (sort(keys $oFileHash{name}))
{
@ -226,31 +225,27 @@ sub backup_file_not_in_manifest
next;
}
}
else
elsif ($cType eq 'f')
{
if ($oManifest->test("${strSection}:file", "${strPath}"))
{
if ($oManifest->get("${strSection}:file", $strPath, MANIFEST_SUBKEY_SIZE) ==
$oFileHash{name}{"${strName}"}{size} &&
$oManifest->get("${strSection}:file", $strPath, MANIFEST_SUBKEY_MODIFICATION_TIME) ==
$oFileHash{name}{"${strName}"}{modification_time})
if ($oManifest->test("${strSection}:file", "${strPath}") &&
!$oManifest->test("${strSection}:file", $strPath, MANIFEST_SUBKEY_REFERENCE))
{
my $strChecksum = $oAbortedManifest->get("${strSection}:file", $strPath, MANIFEST_SUBKEY_CHECKSUM, false);
if (defined($strChecksum))
if (defined($strChecksum) &&
$oManifest->get("${strSection}:file", $strPath, MANIFEST_SUBKEY_SIZE) ==
$oFileHash{name}{$strName}{size} &&
$oManifest->get("${strSection}:file", $strPath, MANIFEST_SUBKEY_MODIFICATION_TIME) ==
$oFileHash{name}{$strName}{modification_time})
{
$oManifest->set("${strSection}:file", $strPath, MANIFEST_SUBKEY_CHECKSUM, $strChecksum);
}
$oManifest->set("${strSection}:file", $strPath, MANIFEST_SUBKEY_EXISTS, true);
next;
}
}
}
}
$stryFile[$iFileTotal] = $strName;
$iFileTotal++;
push @stryFile, $strName;
}
return @stryFile;
@ -318,22 +313,21 @@ sub backup_file
my $lFileTotal = 0;
my $lSizeTotal = 0;
# Determine whether all paths and links will be created
my $bFullCreate = $bHardLink || $strType eq BACKUP_TYPE_FULL;
# Iterate through the path sections of the manifest to backup
foreach my $strPathKey ($oBackupManifest->keys(MANIFEST_SECTION_BACKUP_PATH))
{
# Determine the source and destination backup paths
my $strBackupSourcePath; # Absolute path to the database base directory or tablespace to backup
my $strBackupDestinationPath; # Relative path to the backup directory where the data will be stored
my $strSectionFile; # Manifest section that contains the file data
# Process the base database directory
if ($strPathKey =~ /^base$/)
{
$strBackupSourcePath = $strDbClusterPath;
$strBackupDestinationPath = 'base';
# Create the archive log directory
$oFile->path_create(PATH_BACKUP_TMP, 'base/pg_xlog');
}
# Process each tablespace
elsif ($strPathKey =~ /^tablespace\:/)
@ -342,15 +336,14 @@ sub backup_file
$strBackupSourcePath = $oBackupManifest->get(MANIFEST_SECTION_BACKUP_TABLESPACE, $strTablespaceName,
MANIFEST_SUBKEY_PATH);
$strBackupDestinationPath = "tablespace/${strTablespaceName}";
$strSectionFile = "tablespace:${strTablespaceName}:file";
# Create the tablespace directory and link
if ($bHardLink || $strType eq BACKUP_TYPE_FULL)
if ($bFullCreate)
{
$oFile->link_create(PATH_BACKUP_TMP, $strBackupDestinationPath,
PATH_BACKUP_TMP,
'base/pg_tblspc/' . $oBackupManifest->get(MANIFEST_SECTION_BACKUP_TABLESPACE, $strTablespaceName,
MANIFEST_SUBKEY_LINK),
'base/pg_tblspc/' . $oBackupManifest->get(MANIFEST_SECTION_BACKUP_TABLESPACE,
$strTablespaceName, MANIFEST_SUBKEY_LINK),
false, true, true);
}
}
@ -359,8 +352,45 @@ sub backup_file
confess &log(ASSERT, "cannot find type for path ${strPathKey}");
}
# If this is a full backup or hard-linked then create all paths and links
if ($bFullCreate)
{
# Create paths
my $strSectionPath = "$strPathKey:path";
if ($oBackupManifest->test($strSectionPath))
{
foreach my $strPath ($oBackupManifest->keys($strSectionPath))
{
if ($strPath ne '.')
{
$oFile->path_create(PATH_BACKUP_TMP, "${strBackupDestinationPath}/${strPath}");
}
}
}
# Create links
my $strSectionLink = "$strPathKey:link";
if ($oBackupManifest->test($strSectionLink))
{
foreach my $strLink ($oBackupManifest->keys($strSectionLink))
{
# Create links except in pg_tblspc because they have already been created
if (!($strPathKey eq 'base' && $strLink =~ /^pg_tblspc\/.*/))
{
$oFile->link_create(PATH_BACKUP_ABSOLUTE,
$oBackupManifest->get($strSectionLink, $strLink, MANIFEST_SUBKEY_DESTINATION),
PATH_BACKUP_TMP, "${strBackupDestinationPath}/${strLink}",
false, false, false);
}
}
}
}
# Possible for the file section to exist with no files (i.e. empty tablespace)
$strSectionFile = "$strPathKey:file";
my $strSectionFile = "$strPathKey:file";
if (!$oBackupManifest->test($strSectionFile))
{
@ -372,21 +402,9 @@ sub backup_file
{
my $strBackupSourceFile = "${strBackupSourcePath}/${strFile}";
my $bProcess = false;
my $bProcessChecksumOnly = false;
if ($oBackupManifest->test($strSectionFile, $strFile, MANIFEST_SUBKEY_EXISTS, true))
{
&log(TRACE, "file ${strFile} already exists from previous backup attempt");
$oBackupManifest->remove($strSectionFile, $strFile, MANIFEST_SUBKEY_EXISTS);
$bProcess = !$oBackupManifest->test($strSectionFile, $strFile, MANIFEST_SUBKEY_CHECKSUM);
$bProcessChecksumOnly = $bProcess;
}
else
{
# If the file has a reference it does not need to be copied since it can be retrieved from the referenced backup.
# However, if hard-linking is turned on the link will need to be created
my $bProcess = true;
my $strReference = $oBackupManifest->get($strSectionFile, $strFile, MANIFEST_SUBKEY_REFERENCE, false);
if (defined($strReference))
@ -399,12 +417,8 @@ sub backup_file
$oFile->link_create(PATH_BACKUP_CLUSTER, "${strReference}/${strBackupDestinationPath}/${strFile}",
PATH_BACKUP_TMP, "${strBackupDestinationPath}/${strFile}", true, false, true);
}
}
# Else copy/compress the file and generate a checksum
else
{
$bProcess = true;
}
$bProcess = false;
}
if ($bProcess)
@ -420,7 +434,8 @@ sub backup_file
$oFileCopyMap{$strPathKey}{$strFile}{file} = ${strFile};
$oFileCopyMap{$strPathKey}{$strFile}{backup_file} = "${strBackupDestinationPath}/${strFile}";
$oFileCopyMap{$strPathKey}{$strFile}{size} = $lFileSize;
$oFileCopyMap{$strPathKey}{$strFile}{checksum_only} = $bProcessChecksumOnly;
$oFileCopyMap{$strPathKey}{$strFile}{modification_time} =
$oBackupManifest->get($strSectionFile, $strFile, MANIFEST_SUBKEY_MODIFICATION_TIME, false);
$oFileCopyMap{$strPathKey}{$strFile}{checksum} =
$oBackupManifest->get($strSectionFile, $strFile, MANIFEST_SUBKEY_CHECKSUM, false);
}
@ -433,7 +448,7 @@ sub backup_file
{
if (!optionGet(OPTION_TEST))
{
confess &log(WARN, "no files have changed since the last backup - this seems unlikely");
confess &log(ERROR, "no files have changed since the last backup - this seems unlikely");
}
return;
@ -449,6 +464,15 @@ sub backup_file
my $lCopySize; # Size reported by copy
my $strCopyChecksum; # Checksum reported by copy
# Determine how often the manifest will be saved
my $lManifestSaveCurrent = 0;
my $lManifestSaveSize = int($lSizeTotal / 100);
if ($lManifestSaveSize < optionGet(OPTION_MANIFEST_SAVE_THRESHOLD))
{
$lManifestSaveSize = optionGet(OPTION_MANIFEST_SAVE_THRESHOLD);
}
# Iterate all backup files
foreach my $strPathKey (sort (keys %oFileCopyMap))
{
@ -470,11 +494,12 @@ sub backup_file
# Backup the file
($bCopied, $lSizeCurrent, $lCopySize, $strCopyChecksum) =
backupFile($oFile, $$oFileCopy{db_file}, $$oFileCopy{backup_file}, $bCompress,
$$oFileCopy{checksum}, $$oFileCopy{checksum_only},
$$oFileCopy{checksum}, $$oFileCopy{modification_time},
$$oFileCopy{size}, $lSizeTotal, $lSizeCurrent);
backupManifestUpdate($oBackupManifest, $$oFileCopy{file_section}, $$oFileCopy{file},
$bCopied, $lCopySize, $strCopyChecksum);
$lManifestSaveCurrent = backupManifestUpdate($oBackupManifest, $$oFileCopy{file_section}, $$oFileCopy{file},
$bCopied, $lCopySize, $strCopyChecksum, $lManifestSaveSize,
$lManifestSaveCurrent);
}
}
}
@ -495,19 +520,27 @@ sub backup_file
}
# Complete thread queues
threadGroupComplete();
my $bDone = false;
do
{
$bDone = threadGroupComplete();
# Read the messages that are passed back from the backup threads
while (my $oMessage = $oResultQueue->dequeue_nb())
{
&log(TRACE, "message received in master queue: section = $$oMessage{file_section}, file = $$oMessage{file}" .
", copied = $$oMessage{copied}"); #, size = $$oMessage{size}, checksum = " .
# (defined($$oMessage{checksum}) ? $$oMessage{checksum} : '[undef]'));
", copied = $$oMessage{copied}");
backupManifestUpdate($oBackupManifest, $$oMessage{file_section}, $$oMessage{file},
$$oMessage{copied}, $$oMessage{size}, $$oMessage{checksum});
$lManifestSaveCurrent = backupManifestUpdate($oBackupManifest, $$oMessage{file_section}, $$oMessage{file},
$$oMessage{copied}, $$oMessage{size}, $$oMessage{checksum},
$lManifestSaveSize, $lManifestSaveCurrent);
}
}
while (!$bDone);
}
&log(INFO, file_size_format($lSizeTotal) . ' total backup');
}
####################################################################################################################################
@ -555,8 +588,8 @@ sub backup
{
$oLastManifest = new BackRest::Manifest($oFile->path_get(PATH_BACKUP_CLUSTER) . "/${strBackupLastPath}/backup.manifest");
&log(INFO, 'last backup label: ' . $oLastManifest->get(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_LABEL) .
', version ' . $oLastManifest->get(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_VERSION));
&log(INFO, 'last backup label = ' . $oLastManifest->get(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_LABEL) .
', version = ' . $oLastManifest->get(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_VERSION));
}
else
{
@ -669,7 +702,7 @@ sub backup
};
# If the aborted backup is usable then clean it
if ($bUsable)
if ($bUsable && optionGet(OPTION_RESUME))
{
&log(WARN, 'aborted backup of same type exists, will be cleaned to remove invalid files and resumed');
&log(TEST, TEST_BACKUP_RESUME);
@ -680,8 +713,10 @@ sub backup
# Else remove it
else
{
my $strReason = "new version '${strVersion}' does not match aborted version '${strVersion}'";
my $strReason = "resume is disabled";
if (optionGet(OPTION_RESUME))
{
if ($strVersion eq $strAbortedVersion)
{
if ($strType ne $strAbortedType)
@ -693,6 +728,11 @@ sub backup
$strReason = "new prior '${strPrior}' does not match aborted prior '${strAbortedPrior}'";
}
}
else
{
$strReason = "new version '${strVersion}' does not match aborted version '${strVersion}'";
}
}
&log(WARN, "aborted backup exists, but cannot be resumed (${strReason}) - will be dropped and recreated");
&log(TEST, TEST_BACKUP_NORESUME);
@ -728,7 +768,7 @@ sub backup
&log(INFO, 'archive stop: ' . $strArchiveStop);
}
# If archive logs are required to complete the backup, then fetch them. This is the default, but can be overridden if the
# If archive logs are required to complete the backup, then check them. This is the default, but can be overridden if the
# archive logs are going to a different server. Be careful here because there is no way to verify that the backup will be
# consistent - at least not here.
if (!optionGet(OPTION_NO_START_STOP) && optionGet(OPTION_BACKUP_ARCHIVE_CHECK))

View File

@ -28,13 +28,11 @@ sub backupFile
my $strDestinationFile = shift; # Destination backup file
my $bDestinationCompress = shift; # Compress destination file
my $strChecksum = shift; # File checksum to be checked
my $bChecksumOnly = shift; # Checksum destination only
my $lSizeFile = shift; # Total size of the files to be copied
my $lModificationTime = shift; # File modification time
my $lSizeFile = shift; # File size
my $lSizeTotal = shift; # Total size of the files to be copied
my $lSizeCurrent = shift; # Size of files copied so far
my $strLog; # Store the log message
my $strLogProgress; # Part of the log message that shows progress
my $bCopyResult; # Copy result
my $strCopyChecksum; # Copy checksum
my $lCopySize; # Copy Size
@ -42,17 +40,25 @@ sub backupFile
# Add the size of the current file to keep track of percent complete
$lSizeCurrent += $lSizeFile;
if ($bChecksumOnly)
{
$lCopySize = $lSizeFile;
$strCopyChecksum = 'dude';
# !!! Need to put checksum code in here
}
else
{
# Output information about the file to be copied
$strLog = "backed up file";
# If checksum is defined then the file already exists but needs to be checked
my $bCopy = true;
if (defined($strChecksum))
{
($strCopyChecksum, $lCopySize) = $oFile->hash_size(PATH_BACKUP_TMP, $strDestinationFile);
$bCopy = !($strCopyChecksum eq $strChecksum && $lCopySize == $lSizeFile);
if ($bCopy)
{
&log(WARN, "resumed backup file ${strDestinationFile} should have checksum ${strChecksum} but " .
"actually has checksum ${strCopyChecksum}. The file will be recopied and backup will " .
"continue but this may be an issue unless the backup temp path is known to be corrupted.");
}
}
if ($bCopy)
{
# Copy the file from the database to the backup (will return false if the source file is missing)
($bCopyResult, $strCopyChecksum, $lCopySize) =
$oFile->copy(PATH_DB_ABSOLUTE, $strSourceFile,
@ -61,7 +67,7 @@ sub backupFile
false, # Source is not compressed since it is the db directory
$bDestinationCompress, # Destination should be compressed based on backup settings
true, # Ignore missing files
undef, # Do not set original modification time
$lModificationTime, # Set modification time - this is required for resume
undef, # Do not set original mode
true); # Create the destination directory if it does not exist
@ -74,24 +80,11 @@ sub backupFile
}
}
$strLogProgress = "$strSourceFile (" . file_size_format($lCopySize) .
($lSizeTotal > 0 ? ', ' . int($lSizeCurrent * 100 / $lSizeTotal) . '%' : '') . ')';
# Generate checksum for file if configured
if ($lCopySize != 0)
{
# Output information about the file to be checksummed
if (!defined($strLog))
{
$strLog = "checksum-only";
}
&log(INFO, $strLog . " ${strLogProgress} checksum ${strCopyChecksum}");
}
else
{
&log(INFO, $strLog . ' ' . $strLogProgress);
}
# Ouput log
&log(INFO, (defined($strChecksum) && !$bCopy ? 'checksum resumed file' : 'backup file') .
" $strSourceFile (" . file_size_format($lCopySize) .
($lSizeTotal > 0 ? ', ' . int($lSizeCurrent * 100 / $lSizeTotal) . '%' : '') . ')' .
($lCopySize != 0 ? " checksum ${strCopyChecksum}" : ''));
return true, $lSizeCurrent, $lCopySize, $strCopyChecksum;
}
@ -109,6 +102,8 @@ sub backupManifestUpdate
my $bCopied = shift;
my $lSize = shift;
my $strChecksum = shift;
my $lManifestSaveSize = shift;
my $lManifestSaveCurrent = shift;
# If copy was successful store the checksum and size
if ($bCopied)
@ -119,12 +114,25 @@ sub backupManifestUpdate
{
$oManifest->set($strSection, $strFile, MANIFEST_SUBKEY_CHECKSUM, $strChecksum);
}
# Determine whether to save the manifest
$lManifestSaveCurrent += $lSize;
if ($lManifestSaveCurrent >= $lManifestSaveSize)
{
$oManifest->save();
&log(DEBUG, 'manifest saved');
$lManifestSaveCurrent = 0;
}
}
# Else the file was removed during backup so remove from manifest
else
{
$oManifest->remove($strSection, $strFile);
}
return $lManifestSaveCurrent;
}
push @EXPORT, qw(backupManifestUpdate);

View File

@ -60,7 +60,6 @@ use constant
push @EXPORT, qw(BACKUP_TYPE_FULL BACKUP_TYPE_DIFF BACKUP_TYPE_INCR);
####################################################################################################################################
# SOURCE Constants
####################################################################################################################################
@ -147,9 +146,11 @@ use constant
# BACKUP Section
OPTION_BACKUP_ARCHIVE_CHECK => 'archive-check',
OPTION_BACKUP_ARCHIVE_COPY => 'archive-copy',
OPTION_HARDLINK => 'hardlink',
OPTION_BACKUP_HOST => 'backup-host',
OPTION_BACKUP_USER => 'backup-user',
OPTION_HARDLINK => 'hardlink',
OPTION_MANIFEST_SAVE_THRESHOLD => 'manifest-save-threshold',
OPTION_RESUME => 'resume',
OPTION_START_FAST => 'start-fast',
# COMMAND Section
@ -168,6 +169,7 @@ use constant
OPTION_RETENTION_FULL => 'retention-' . BACKUP_TYPE_FULL,
# RESTORE Section
OPTION_TABLESPACE => 'tablespace',
OPTION_RESTORE_TABLESPACE_MAP => 'tablespace-map',
OPTION_RESTORE_RECOVERY_SETTING => 'recovery-setting',
@ -192,12 +194,13 @@ push @EXPORT, qw(OPTION_CONFIG OPTION_DELTA OPTION_FORCE OPTION_NO_START_STOP OP
OPTION_DB_HOST OPTION_BACKUP_HOST OPTION_ARCHIVE_MAX_MB OPTION_BACKUP_ARCHIVE_CHECK OPTION_BACKUP_ARCHIVE_COPY
OPTION_ARCHIVE_ASYNC
OPTION_BUFFER_SIZE OPTION_COMPRESS OPTION_COMPRESS_LEVEL OPTION_COMPRESS_LEVEL_NETWORK OPTION_HARDLINK
OPTION_PATH_ARCHIVE OPTION_REPO_PATH OPTION_REPO_REMOTE_PATH OPTION_DB_PATH OPTION_LOG_LEVEL_CONSOLE
OPTION_LOG_LEVEL_FILE
OPTION_MANIFEST_SAVE_THRESHOLD OPTION_RESUME OPTION_PATH_ARCHIVE OPTION_REPO_PATH OPTION_REPO_REMOTE_PATH
OPTION_DB_PATH
OPTION_LOG_LEVEL_CONSOLE OPTION_LOG_LEVEL_FILE
OPTION_RESTORE_RECOVERY_SETTING OPTION_RETENTION_ARCHIVE OPTION_RETENTION_ARCHIVE_TYPE OPTION_RETENTION_FULL
OPTION_RETENTION_DIFF OPTION_START_FAST OPTION_THREAD_MAX OPTION_THREAD_TIMEOUT
OPTION_DB_USER OPTION_BACKUP_USER OPTION_COMMAND_PSQL OPTION_COMMAND_PSQL_OPTION OPTION_COMMAND_REMOTE
OPTION_RESTORE_TABLESPACE_MAP
OPTION_TABLESPACE OPTION_RESTORE_TABLESPACE_MAP
OPTION_TEST OPTION_TEST_DELAY OPTION_TEST_NO_FORK);
@ -233,6 +236,8 @@ use constant
OPTION_DEFAULT_BACKUP_FORCE => false,
OPTION_DEFAULT_BACKUP_HARDLINK => false,
OPTION_DEFAULT_BACKUP_NO_START_STOP => false,
OPTION_DEFAULT_BACKUP_MANIFEST_SAVE_THRESHOLD => 1073741824,
OPTION_DEFAULT_BACKUP_RESUME => true,
OPTION_DEFAULT_BACKUP_START_FAST => false,
OPTION_DEFAULT_BACKUP_TYPE => BACKUP_TYPE_INCR,
@ -241,6 +246,7 @@ use constant
OPTION_DEFAULT_RESTORE_DELTA => false,
OPTION_DEFAULT_RESTORE_FORCE => false,
OPTION_DEFAULT_RESTORE_SET => 'latest',
OPTION_DEFAULT_RESTORE_TABLESPACE => true,
OPTION_DEFAULT_RESTORE_TYPE => RECOVERY_TYPE_DEFAULT,
OPTION_DEFAULT_RESTORE_TARGET_EXCLUSIVE => false,
OPTION_DEFAULT_RESTORE_TARGET_RESUME => false,
@ -795,6 +801,17 @@ my %oOptionRule =
}
},
&OPTION_TABLESPACE =>
{
&OPTION_RULE_TYPE => OPTION_TYPE_BOOLEAN,
&OPTION_RULE_DEFAULT => OPTION_DEFAULT_RESTORE_TABLESPACE,
&OPTION_RULE_SECTION => true,
&OPTION_RULE_OPERATION =>
{
&OP_RESTORE => true
}
},
&OPTION_RESTORE_TABLESPACE_MAP =>
{
&OPTION_RULE_TYPE => OPTION_TYPE_HASH,
@ -890,6 +907,28 @@ my %oOptionRule =
}
},
&OPTION_MANIFEST_SAVE_THRESHOLD =>
{
&OPTION_RULE_TYPE => OPTION_TYPE_INTEGER,
&OPTION_RULE_DEFAULT => OPTION_DEFAULT_BACKUP_MANIFEST_SAVE_THRESHOLD,
&OPTION_RULE_SECTION => true,
&OPTION_RULE_OPERATION =>
{
&OP_BACKUP => true
}
},
&OPTION_RESUME =>
{
&OPTION_RULE_TYPE => OPTION_TYPE_BOOLEAN,
&OPTION_RULE_DEFAULT => OPTION_DEFAULT_BACKUP_RESUME,
&OPTION_RULE_SECTION => true,
&OPTION_RULE_OPERATION =>
{
&OP_BACKUP => true
}
},
&OPTION_START_FAST =>
{
&OPTION_RULE_TYPE => OPTION_TYPE_BOOLEAN,
@ -1592,7 +1631,7 @@ sub operationWrite
{
my $strNewOperation = shift;
my $strCommand = "$0";
my $strCommand = abs_path($0);
foreach my $strOption (sort(keys(%oOption)))
{
@ -1710,7 +1749,7 @@ sub optionRemote
####################################################################################################################################
# remoteDestroy
#
# Undefined the remote if it is stored locally.
# Undefine the remote if it is stored locally.
####################################################################################################################################
sub remoteDestroy
{

View File

@ -34,14 +34,15 @@ use constant
ERROR_PARAM_REQUIRED => 118,
ERROR_ARCHIVE_MISMATCH => 119,
ERROR_ARCHIVE_DUPLICATE => 120,
ERROR_VERSION_NOT_SUPPORTED => 121
ERROR_VERSION_NOT_SUPPORTED => 121,
ERROR_PATH_CREATE => 122
};
our @EXPORT = qw(ERROR_ASSERT ERROR_CHECKSUM ERROR_CONFIG ERROR_FILE_INVALID ERROR_FORMAT ERROR_OPERATION_REQUIRED
ERROR_OPTION_INVALID ERROR_OPTION_INVALID_VALUE ERROR_OPTION_INVALID_RANGE ERROR_OPTION_INVALID_PAIR
ERROR_OPTION_DUPLICATE_KEY ERROR_OPTION_NEGATE ERROR_OPTION_REQUIRED ERROR_POSTMASTER_RUNNING ERROR_PROTOCOL
ERROR_RESTORE_PATH_NOT_EMPTY ERROR_FILE_OPEN ERROR_FILE_READ ERROR_PARAM_REQUIRED ERROR_ARCHIVE_MISMATCH
ERROR_ARCHIVE_DUPLICATE ERROR_VERSION_NOT_SUPPORTED);
ERROR_ARCHIVE_DUPLICATE ERROR_VERSION_NOT_SUPPORTED ERROR_PATH_CREATE);
####################################################################################################################################
# CONSTRUCTOR

127
lib/BackRest/Lock.pm Normal file
View File

@ -0,0 +1,127 @@
####################################################################################################################################
# LOCK MODULE
####################################################################################################################################
package BackRest::Lock;
use strict;
use warnings FATAL => qw(all);
use Carp qw(confess);
use Fcntl qw(:DEFAULT :flock);
use File::Basename qw(dirname);
use Exporter qw(import);
use lib dirname($0) . '/../lib';
use BackRest::Exception;
use BackRest::Config;
use BackRest::Utility;
####################################################################################################################################
# Exported Functions
####################################################################################################################################
our @EXPORT = qw(lockAcquire lockRelease);
####################################################################################################################################
# Global lock type and handle
####################################################################################################################################
my $strCurrentLockType;
my $strCurrentLockFile;
my $hCurrentLockHandle;
####################################################################################################################################
# lockPathName
#
# Get the base path where the lock file will be stored.
####################################################################################################################################
sub lockPathName
{
my $strRepoPath = shift;
return "${strRepoPath}/lock";
}
####################################################################################################################################
# lockFileName
#
# Get the lock file name.
####################################################################################################################################
sub lockFileName
{
my $strLockType = shift;
my $strStanza = shift;
my $strRepoPath = shift;
return lockPathName($strRepoPath) . "/${strStanza}-${strLockType}.lock";
}
####################################################################################################################################
# lockAcquire
#
# Attempt to acquire the specified lock. If the lock is taken by another process return false, else take the lock and return true.
####################################################################################################################################
sub lockAcquire
{
my $strLockType = shift;
# Cannot proceed if a lock is currently held
if (defined($strCurrentLockType))
{
confess &lock(ASSERT, "${strCurrentLockType} lock is already held");
}
# Create the lock path if it does not exist
if (! -e lockPathName(optionGet(OPTION_REPO_PATH)))
{
mkdir lockPathName(optionGet(OPTION_REPO_PATH))
or confess(ERROR, 'unable to create lock path ' . lockPathName(optionGet(OPTION_REPO_PATH)), ERROR_PATH_CREATE);
}
# Attempt to open the lock file
$strCurrentLockFile = lockFileName($strLockType, optionGet(OPTION_STANZA), optionGet(OPTION_REPO_PATH));
sysopen($hCurrentLockHandle, $strCurrentLockFile, O_WRONLY | O_CREAT)
or confess &log(ERROR, "unable to open lock file ${strCurrentLockFile}");
# Attempt to lock the lock file
if (!flock($hCurrentLockHandle, LOCK_EX | LOCK_NB))
{
close($hCurrentLockHandle);
return false;
}
# Set current lock type so we know we have a lock
$strCurrentLockType = $strLockType;
# Lock was successful
return true;
}
####################################################################################################################################
# lockRelease
####################################################################################################################################
sub lockRelease
{
my $strLockType = shift;
# Fail if there is no lock
if (!defined($strCurrentLockType))
{
confess &log(ASSERT, 'no lock is currently held');
}
# # Fail if the lock being released is not the one held
# if ($strLockType ne $strCurrentLockType)
# {
# confess &log(ASSERT, "cannot remove lock ${strLockType} since ${strCurrentLockType} is currently held");
# }
# Remove the file
unlink($strCurrentLockFile);
close($hCurrentLockHandle);
# Undef lock variables
undef($strCurrentLockType);
undef($hCurrentLockHandle);
}
1;

View File

@ -27,9 +27,9 @@ our @EXPORT = qw(MANIFEST_PATH MANIFEST_FILE MANIFEST_LINK
MANIFEST_KEY_HARDLINK MANIFEST_KEY_LABEL MANIFEST_KEY_PRIOR MANIFEST_KEY_REFERENCE MANIFEST_KEY_TIMESTAMP_COPY_START
MANIFEST_KEY_TIMESTAMP_START MANIFEST_KEY_TIMESTAMP_STOP MANIFEST_KEY_TYPE MANIFEST_KEY_VERSION
MANIFEST_SUBKEY_CHECKSUM MANIFEST_SUBKEY_DESTINATION MANIFEST_SUBKEY_EXISTS MANIFEST_SUBKEY_FUTURE
MANIFEST_SUBKEY_GROUP MANIFEST_SUBKEY_LINK MANIFEST_SUBKEY_MODE MANIFEST_SUBKEY_MODIFICATION_TIME
MANIFEST_SUBKEY_PATH MANIFEST_SUBKEY_REFERENCE MANIFEST_SUBKEY_SIZE MANIFEST_SUBKEY_USER);
MANIFEST_SUBKEY_CHECKSUM MANIFEST_SUBKEY_DESTINATION MANIFEST_SUBKEY_FUTURE MANIFEST_SUBKEY_GROUP
MANIFEST_SUBKEY_LINK MANIFEST_SUBKEY_MODE MANIFEST_SUBKEY_MODIFICATION_TIME MANIFEST_SUBKEY_PATH
MANIFEST_SUBKEY_REFERENCE MANIFEST_SUBKEY_SIZE MANIFEST_SUBKEY_USER);
####################################################################################################################################
# File/path constants
@ -70,7 +70,6 @@ use constant
MANIFEST_SUBKEY_CHECKSUM => 'checksum',
MANIFEST_SUBKEY_DESTINATION => 'link_destination',
MANIFEST_SUBKEY_EXISTS => 'exists',
MANIFEST_SUBKEY_FUTURE => 'future',
MANIFEST_SUBKEY_GROUP => 'group',
MANIFEST_SUBKEY_LINK => 'link',
@ -392,7 +391,6 @@ sub valid
}
elsif ($strType eq 'file' &&
($strSubKey eq MANIFEST_SUBKEY_CHECKSUM ||
$strSubKey eq MANIFEST_SUBKEY_EXISTS ||
$strSubKey eq MANIFEST_SUBKEY_FUTURE ||
$strSubKey eq MANIFEST_SUBKEY_MODIFICATION_TIME ||
$strSubKey eq MANIFEST_SUBKEY_REFERENCE ||
@ -745,7 +743,6 @@ sub build
$self->set(MANIFEST_SECTION_BACKUP, MANIFEST_KEY_TIMESTAMP_COPY_START, undef,
timestamp_string_get(undef, $lTimeBegin + 1));
}
}
1;

View File

@ -16,7 +16,7 @@ use IO::String qw();
use lib dirname($0) . '/../lib';
use BackRest::Exception qw(ERROR_PROTOCOL);
use BackRest::Utility qw(log version_get trim TRACE ERROR ASSERT true false);
use BackRest::Utility qw(log version_get trim TRACE ERROR ASSERT true false waitInit waitMore);
use BackRest::Config qw(optionGet OPTION_STANZA OPTION_REPO_REMOTE_PATH);
####################################################################################################################################
@ -417,8 +417,7 @@ sub wait_pid
my $bReportError = shift;
# Record the start time and set initial sleep interval
my $fStartTime = defined($fWaitTime) ? gettimeofday() : undef;
my $fSleep = defined($fWaitTime) ? .1 : undef;
my $oWait = waitInit($fWaitTime);
if (defined($self->{pId}))
{
@ -464,16 +463,8 @@ sub wait_pid
}
&log(TRACE, "waiting for pid");
# If waiting then sleep before trying again
if (defined($fWaitTime))
{
hsleep($fSleep);
$fSleep = $fSleep * 2 < $fWaitTime - (gettimeofday() - $fStartTime) ?
$fSleep * 2 : ($fWaitTime - (gettimeofday() - $fStartTime)) + .001;
}
}
while (defined($fWaitTime) && (gettimeofday() - $fStartTime) < $fWaitTime);
while (waitMore($oWait));
}
return false;
@ -880,7 +871,6 @@ sub binary_xfer
$iBlockSize = 0;
}
}
}
while ($iBlockSize > 0);

View File

@ -210,8 +210,33 @@ sub manifest_load
$oManifest->set(MANIFEST_SECTION_BACKUP_PATH, MANIFEST_KEY_BASE, undef, $self->{strDbClusterPath});
}
# If no tablespaces are requested
if (!optionGet(OPTION_TABLESPACE))
{
foreach my $strTablespaceName ($oManifest->keys(MANIFEST_SECTION_BACKUP_TABLESPACE))
{
my $strTablespaceKey =
$oManifest->get(MANIFEST_SECTION_BACKUP_TABLESPACE, $strTablespaceName, MANIFEST_SUBKEY_LINK);
my $strTablespaceLink = "pg_tblspc/${strTablespaceKey}";
my $strTablespacePath =
$oManifest->get(MANIFEST_SECTION_BACKUP_PATH, MANIFEST_KEY_BASE) . "/${strTablespaceLink}";
$oManifest->set(MANIFEST_SECTION_BACKUP_PATH, "tablespace:${strTablespaceName}", undef, $strTablespacePath);
$oManifest->set(MANIFEST_SECTION_BACKUP_TABLESPACE, $strTablespaceName, MANIFEST_SUBKEY_PATH, $strTablespacePath);
$oManifest->remove('base:link', $strTablespaceLink);
$oManifest->set('base:path', $strTablespaceLink, MANIFEST_SUBKEY_GROUP,
$oManifest->get('base:path', '.', MANIFEST_SUBKEY_GROUP));
$oManifest->set('base:path', $strTablespaceLink, MANIFEST_SUBKEY_USER,
$oManifest->get('base:path', '.', MANIFEST_SUBKEY_USER));
$oManifest->set('base:path', $strTablespaceLink, MANIFEST_SUBKEY_MODE,
$oManifest->get('base:path', '.', MANIFEST_SUBKEY_MODE));
&log(INFO, "remapping tablespace ${strTablespaceKey} to ${strTablespacePath}");
}
}
# If tablespaces have been remapped, update the manifest
if (defined($self->{oRemapRef}))
elsif (defined($self->{oRemapRef}))
{
foreach my $strPathKey (sort(keys $self->{oRemapRef}))
{
@ -266,7 +291,7 @@ sub clean
if (!$self->{oFile}->exists(PATH_DB_ABSOLUTE, $strPath))
{
confess &log(ERROR, "required db path '${strPath}' does not exist");
next;
}
# Load path manifest so it can be compared to deleted files/paths/links that are not in the backup
@ -315,7 +340,7 @@ sub clean
if ($strUser ne $oPathManifest{name}{$strName}{user} ||
$strGroup ne $oPathManifest{name}{$strName}{group})
{
&log(DEBUG, "setting ${strFile} ownership to ${strUser}:${strGroup}");
&log(INFO, "setting ${strFile} ownership to ${strUser}:${strGroup}");
$self->{oFile}->owner(PATH_DB_ABSOLUTE, $strFile, $strUser, $strGroup);
}
@ -326,7 +351,7 @@ sub clean
if ($strType eq MANIFEST_LINK && $oManifest->get($strSection, $strName, MANIFEST_SUBKEY_DESTINATION) ne
$oPathManifest{name}{$strName}{link_destination})
{
&log(DEBUG, "removing link ${strFile} - destination changed");
&log(INFO, "removing link ${strFile} - destination changed");
unlink($strFile) or confess &log(ERROR, "unable to delete file ${strFile}");
}
}
@ -337,7 +362,7 @@ sub clean
if ($strType ne MANIFEST_LINK && $strMode ne $oPathManifest{name}{$strName}{mode})
{
&log(DEBUG, "setting ${strFile} mode to ${strMode}");
&log(INFO, "setting ${strFile} mode to ${strMode}");
chmod(oct($strMode), $strFile)
or confess 'unable to set mode ${strMode} for ${strFile}';
@ -350,17 +375,17 @@ sub clean
# If a path then remove it, all the files should have already been deleted since we are going in reverse order
if ($strType eq MANIFEST_PATH)
{
&log(DEBUG, "removing path ${strFile}");
&log(INFO, "removing path ${strFile}");
rmdir($strFile) or confess &log(ERROR, "unable to delete path ${strFile}, is it empty?");
}
# Else delete a file/link
else
{
# Delete only if this is not the recovery.conf file. This is in case the use wants the recovery.conf file
# Delete only if this is not the recovery.conf file. This is in case the user wants the recovery.conf file
# preserved. It will be written/deleted/preserved as needed in recovery().
if (!($strName eq FILE_RECOVERY_CONF && $strType eq MANIFEST_FILE))
{
&log(DEBUG, "removing file/link ${strFile}");
&log(INFO, "removing file/link ${strFile}");
unlink($strFile) or confess &log(ERROR, "unable to delete file/link ${strFile}");
}
}
@ -434,6 +459,17 @@ sub build
}
}
}
# Make sure that all paths required for the restore now exist
foreach my $strPathKey ($oManifest->keys(MANIFEST_SECTION_BACKUP_PATH))
{
my $strPath = $oManifest->get(MANIFEST_SECTION_BACKUP_PATH, $strPathKey);
if (!$self->{oFile}->exists(PATH_DB_ABSOLUTE, $strPath))
{
confess &log(ERROR, "required db path '${strPath}' does not exist");
}
}
}
####################################################################################################################################
@ -451,12 +487,12 @@ sub recovery
# See if recovery.conf already exists
my $bRecoveryConfExists = $self->{oFile}->exists(PATH_DB_ABSOLUTE, $strRecoveryConf);
# If RECOVERY_TYPE_PRESERVE then make sure recovery.conf exists and return
# If RECOVERY_TYPE_PRESERVE then warn if recovery.conf does not exist and return
if ($self->{strType} eq RECOVERY_TYPE_PRESERVE)
{
if (!$bRecoveryConfExists)
{
confess &log(ERROR, "recovery type is $self->{strType} but recovery file does not exist at ${strRecoveryConf}");
&log(WARN, "recovery type is $self->{strType} but recovery file does not exist at ${strRecoveryConf}");
}
return;
@ -536,6 +572,8 @@ sub recovery
close($hFile)
or confess "unable to close ${strRecoveryConf}: $!";
&log(INFO, "wrote $strRecoveryConf");
}
####################################################################################################################################
@ -571,17 +609,10 @@ sub restore
my $strCurrentUser = getpwuid($<);
my $strCurrentGroup = getgrgid($();
# Create thread queues (or do restore if single-threaded)
my @oyRestoreQueue;
if ($self->{iThreadTotal} > 1)
{
&log(TRACE, "building thread queues");
}
else
{
&log(TRACE, "starting restore in main process");
}
# Create hash containing files to restore
my %oRestoreHash;
my $lSizeTotal = 0;
my $lSizeCurrent = 0;
foreach my $strPathKey ($oManifest->keys(MANIFEST_SECTION_BACKUP_PATH))
{
@ -589,21 +620,38 @@ sub restore
if ($oManifest->test($strSection))
{
if ($self->{iThreadTotal} > 1)
foreach my $strFile ($oManifest->keys($strSection))
{
$oyRestoreQueue[@oyRestoreQueue] = Thread::Queue->new();
}
my $lSize = $oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_SIZE);
$lSizeTotal += $lSize;
foreach my $strName ($oManifest->keys($strSection))
# Preface the file key with the size. This allows for sorting the files to restore by size
my $strFileKey = sprintf("%016d-${strFile}", $lSize);
# Get restore information
$oRestoreHash{$strPathKey}{$strFileKey}{file} = $strFile;
$oRestoreHash{$strPathKey}{$strFileKey}{size} = $lSize;
$oRestoreHash{$strPathKey}{$strFileKey}{source_path} = $strPathKey;
$oRestoreHash{$strPathKey}{$strFileKey}{source_path} =~ s/\:/\//g;
$oRestoreHash{$strPathKey}{$strFileKey}{destination_path} =
$oManifest->get(MANIFEST_SECTION_BACKUP_PATH, $strPathKey);
$oRestoreHash{$strPathKey}{$strFileKey}{reference} =
$oManifest->test(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK, undef, 'y') ? undef :
$oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_REFERENCE, false);
$oRestoreHash{$strPathKey}{$strFileKey}{modification_time} =
$oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_MODIFICATION_TIME);
$oRestoreHash{$strPathKey}{$strFileKey}{mode} =
$oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_MODE);
$oRestoreHash{$strPathKey}{$strFileKey}{user} =
$oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_USER);
$oRestoreHash{$strPathKey}{$strFileKey}{group} =
$oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_GROUP);
# Checksum is only stored if size > 0
if ($lSize > 0)
{
if ($self->{iThreadTotal} > 1)
{
$oyRestoreQueue[@oyRestoreQueue - 1]->enqueue("${strPathKey}|${strName}");
}
else
{
restoreFile($strPathKey, $strName, $lCopyTimeBegin, $self->{bDelta}, $self->{bForce}, $self->{strBackupPath},
$bSourceCompression, $strCurrentUser, $strCurrentGroup, $oManifest, $self->{oFile});
$oRestoreHash{$strPathKey}{$strFileKey}{checksum} =
$oManifest->get($strSection, $strFile, MANIFEST_SUBKEY_CHECKSUM);
}
}
}
@ -612,11 +660,26 @@ sub restore
# If multi-threaded then create threads to copy files
if ($self->{iThreadTotal} > 1)
{
for (my $iThreadIdx = 0; $iThreadIdx < $self->{iThreadTotal}; $iThreadIdx++)
&log(DEBUG, "starting restore with $self->{iThreadTotal} threads");
# Initialize the thread queues
my @oyRestoreQueue;
foreach my $strPathKey (sort (keys %oRestoreHash))
{
push(@oyRestoreQueue, Thread::Queue->new());
foreach my $strFileKey (sort {$b cmp $a} (keys $oRestoreHash{$strPathKey}))
{
$oyRestoreQueue[@oyRestoreQueue - 1]->enqueue($oRestoreHash{$strPathKey}{$strFileKey});
}
}
# Initialize the param hash
my %oParam;
$oParam{copy_time_begin} = $lCopyTimeBegin;
$oParam{size_total} = $lSizeTotal;
$oParam{delta} = $self->{bDelta};
$oParam{force} = $self->{bForce};
$oParam{backup_path} = $self->{strBackupPath};
@ -624,17 +687,36 @@ sub restore
$oParam{current_user} = $strCurrentUser;
$oParam{current_group} = $strCurrentGroup;
$oParam{queue} = \@oyRestoreQueue;
$oParam{manifest} = $oManifest;
# Run the threads
for (my $iThreadIdx = 0; $iThreadIdx < $self->{iThreadTotal}; $iThreadIdx++)
{
threadGroupRun($iThreadIdx, 'restore', \%oParam);
}
# Complete thread queues
threadGroupComplete();
while (!threadGroupComplete()) {};
}
else
{
&log(DEBUG, "starting restore in main process");
# Restore file in main process
foreach my $strPathKey (sort (keys %oRestoreHash))
{
foreach my $strFileKey (sort {$b cmp $a} (keys $oRestoreHash{$strPathKey}))
{
$lSizeCurrent = restoreFile($oRestoreHash{$strPathKey}{$strFileKey}, $lCopyTimeBegin, $self->{bDelta},
$self->{bForce}, $self->{strBackupPath}, $bSourceCompression, $strCurrentUser,
$strCurrentGroup, $self->{oFile}, $lSizeTotal, $lSizeCurrent);
}
}
}
# Create recovery.conf file
$self->recovery();
&log(INFO, "restore complete");
}
1;

View File

@ -28,8 +28,7 @@ use BackRest::File;
####################################################################################################################################
sub restoreFile
{
my $strSourcePath = shift; # Source path of the file
my $strFileName = shift; # File to restore
my $oFileHash = shift; # File to restore
my $lCopyTimeBegin = shift; # Time that the backup begain - used for size/timestamp deltas
my $bDelta = shift; # Is restore a delta?
my $bForce = shift; # Force flag
@ -37,20 +36,17 @@ sub restoreFile
my $bSourceCompression = shift; # Is the source compressed?
my $strCurrentUser = shift; # Current OS user
my $strCurrentGroup = shift; # Current OS group
my $oManifest = shift; # Backup manifest
my $oFile = shift; # File object (only provided in single-threaded mode)
my $strSection = "${strSourcePath}:file"; # Backup section with file info
my $strDestinationPath = $oManifest->get(MANIFEST_SECTION_BACKUP_PATH, # Destination path stored in manifest
$strSourcePath);
$strSourcePath =~ s/\:/\//g; # Replace : with / in source path
# If the file is a reference to a previous backup and hardlinks are off, then fetch it from that backup
my $strReference = $oManifest->test(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK, undef, 'y') ? undef :
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_REFERENCE, false);
my $oFile = shift; # File object
my $lSizeTotal = shift; # Total size of files to be restored
my $lSizeCurrent = shift; # Current size of files restored
# Generate destination file name
my $strDestinationFile = $oFile->path_get(PATH_DB_ABSOLUTE, "${strDestinationPath}/${strFileName}");
my $strDestinationFile = $oFile->path_get(PATH_DB_ABSOLUTE, "$$oFileHash{destination_path}/$$oFileHash{file}");
# Copy flag and log message
my $bCopy = true;
my $strLog;
$lSizeCurrent += $$oFileHash{size};
if ($oFile->exists(PATH_DB_ABSOLUTE, $strDestinationFile))
{
@ -63,62 +59,63 @@ sub restoreFile
my $oStat = lstat($strDestinationFile);
# Make sure that timestamp/size are equal and that timestamp is before the copy start time of the backup
if (defined($oStat) &&
$oStat->size == $oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_SIZE) &&
$oStat->mtime == $oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_MODIFICATION_TIME) &&
$oStat->mtime < $lCopyTimeBegin)
if (defined($oStat) && $oStat->size == $$oFileHash{size} &&
$oStat->mtime == $$oFileHash{modification_time} && $oStat->mtime < $lCopyTimeBegin)
{
&log(DEBUG, "${strDestinationFile} exists and matches size " . $oStat->size .
" and modification time " . $oStat->mtime);
return;
$strLog = "${strDestinationFile} exists and matches size " . $oStat->size .
" and modification time " . $oStat->mtime;
$bCopy = false;
}
}
else
{
my ($strChecksum, $lSize) = $oFile->hash_size(PATH_DB_ABSOLUTE, $strDestinationFile);
my $strManifestChecksum = $oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_CHECKSUM, false, 'INVALID');
if (($lSize == $oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_SIZE) && $lSize == 0) ||
($strChecksum eq $strManifestChecksum))
if ($lSize == $$oFileHash{size} && ($lSize == 0 || $strChecksum eq $$oFileHash{checksum}))
{
&log(DEBUG, "${strDestinationFile} exists and is zero size or matches backup checksum");
$strLog = "exists and " . ($lSize == 0 ? 'is zero size' : "matches backup");
# Even if hash is the same set the time back to backup time. This helps with unit testing, but also
# presents a pristine version of the database.
utime($oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_MODIFICATION_TIME),
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_MODIFICATION_TIME),
$strDestinationFile)
# presents a pristine version of the database after restore.
utime($$oFileHash{modification_time}, $$oFileHash{modification_time}, $strDestinationFile)
or confess &log(ERROR, "unable to set time for ${strDestinationFile}");
return;
$bCopy = false;
}
}
}
}
$oFile->remove(PATH_DB_ABSOLUTE, $strDestinationFile);
}
# Set user and group if running as root (otherwise current user and group will be used for restore)
# Copy the file from the backup to the database
if ($bCopy)
{
my ($bCopyResult, $strCopyChecksum, $lCopySize) =
$oFile->copy(PATH_BACKUP_CLUSTER, (defined($strReference) ? $strReference : $strBackupPath) .
"/${strSourcePath}/${strFileName}" .
$oFile->copy(PATH_BACKUP_CLUSTER, (defined($$oFileHash{reference}) ? $$oFileHash{reference} : $strBackupPath) .
"/$$oFileHash{source_path}/$$oFileHash{file}" .
($bSourceCompression ? '.' . $oFile->{strCompressExtension} : ''),
PATH_DB_ABSOLUTE, $strDestinationFile,
$bSourceCompression, # Source is compressed based on backup settings
undef, undef,
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_MODIFICATION_TIME),
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_MODE),
$$oFileHash{modification_time},
$$oFileHash{mode},
undef,
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_USER),
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_GROUP));
$$oFileHash{user},
$$oFileHash{group});
if ($lCopySize != 0 && $strCopyChecksum ne $oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_CHECKSUM))
if ($lCopySize != 0 && $strCopyChecksum ne $$oFileHash{checksum})
{
confess &log(ERROR, "error restoring ${strDestinationFile}: actual checksum ${strCopyChecksum} " .
"does not match expected checksum " .
$oManifest->get($strSection, $strFileName, MANIFEST_SUBKEY_CHECKSUM), ERROR_CHECKSUM);
"does not match expected checksum $$oFileHash{checksum}", ERROR_CHECKSUM);
}
$strLog = "restore";
}
&log(INFO, "${strDestinationFile} ${strLog} (" . file_size_format($$oFileHash{size}) .
($lSizeTotal > 0 ? ', ' . int($lSizeCurrent * 100 / $lSizeTotal) . '%' : '') . ')' .
($$oFileHash{size} != 0 ? " checksum $$oFileHash{checksum}" : ''));
return $lSizeCurrent;
}
our @EXPORT = qw(restoreFile);

View File

@ -110,13 +110,9 @@ sub threadGroupThread
{
if ($$oCommand{function} eq 'restore')
{
my $strSourcePath = (split(/\|/, $oMessage))[0];
my $strFileName = (split(/\|/, $oMessage))[1];
restoreFile($strSourcePath, $strFileName, $$oCommand{param}{copy_time_begin}, $$oCommand{param}{delta},
$$oCommand{param}{force}, $$oCommand{param}{backup_path}, $$oCommand{param}{source_compression},
$$oCommand{param}{current_user}, $$oCommand{param}{current_group}, $$oCommand{param}{manifest},
$oFile);
restoreFile($oMessage, $$oCommand{param}{copy_time_begin}, $$oCommand{param}{delta}, $$oCommand{param}{force},
$$oCommand{param}{backup_path}, $$oCommand{param}{source_compression},
$$oCommand{param}{current_user}, $$oCommand{param}{current_group}, $oFile, 0, 0);
}
elsif ($$oCommand{function} eq 'backup')
{
@ -126,8 +122,8 @@ sub threadGroupThread
# Backup the file
($$oResult{copied}, $lSizeCurrent, $$oResult{size}, $$oResult{checksum}) =
backupFile($oFile, $$oMessage{db_file}, $$oMessage{backup_file}, $$oCommand{param}{compress},
$$oMessage{checksum}, $$oMessage{checksum_only},
$$oMessage{size}, $$oCommand{param}{size_total}, $lSizeCurrent);
$$oMessage{checksum}, $$oMessage{modification_time},
$$oMessage{size}, 0, 0);
# Send a message to update the manifest
$$oResult{file_section} = $$oMessage{file_section};
@ -272,8 +268,8 @@ sub threadGroupComplete
&log(DEBUG, "waiting for " . @oyThread . " threads to complete");
# Rejoin the threads
while ($iThreadComplete < @oyThread)
{
# while ($iThreadComplete < @oyThread)
# {
hsleep(.1);
# If a timeout has been defined, make sure we have not been running longer than that
@ -322,15 +318,27 @@ sub threadGroupComplete
$iThreadComplete++;
}
}
else
{
$iThreadComplete++;
}
}
# }
&log(DEBUG, 'all threads exited');
# If there were errors then confess them
if (defined($strFirstError) && $bConfessOnError)
{
confess &log(ERROR, 'error in thread' . ($iFirstErrorThreadIdx + 1) . ": $strFirstError");
}
# Return true if all threads have completed
if ($iThreadComplete == @oyThread)
{
&log(DEBUG, 'all threads exited');
return true;
}
return false;
}
####################################################################################################################################

View File

@ -24,7 +24,7 @@ use Exporter qw(import);
our @EXPORT = qw(version_get
data_hash_build trim common_prefix file_size_format execute
log log_file_set log_level_set test_set test_get test_check
lock_file_create lock_file_remove hsleep wait_remainder
hsleep wait_remainder
ini_save ini_load timestamp_string_get timestamp_file_string_get
TRACE DEBUG ERROR ASSERT WARN INFO OFF true false
TEST TEST_ENCLOSE TEST_MANIFEST_BUILD TEST_BACKUP_RESUME TEST_BACKUP_NORESUME FORMAT);
@ -125,62 +125,6 @@ sub version_get
return $strVersion;
}
####################################################################################################################################
# LOCK_FILE_CREATE
####################################################################################################################################
sub lock_file_create
{
my $strLockPathParam = shift;
my $strLockFile = $strLockPathParam . '/process.lock';
if (defined($hLockFile))
{
confess &lock(ASSERT, "${strLockFile} lock is already held");
}
$strLockPath = $strLockPathParam;
unless (-e $strLockPath)
{
if (system("mkdir -p ${strLockPath}") != 0)
{
confess &log(ERROR, "Unable to create lock path ${strLockPath}");
}
}
sysopen($hLockFile, $strLockFile, O_WRONLY | O_CREAT)
or confess &log(ERROR, "unable to open lock file ${strLockFile}");
if (!flock($hLockFile, LOCK_EX | LOCK_NB))
{
close($hLockFile);
return 0;
}
return $hLockFile;
}
####################################################################################################################################
# LOCK_FILE_REMOVE
####################################################################################################################################
sub lock_file_remove
{
if (defined($hLockFile))
{
close($hLockFile);
remove_tree($strLockPath) or confess &log(ERROR, "unable to delete lock path ${strLockPath}");
$hLockFile = undef;
$strLockPath = undef;
}
else
{
confess &log(ASSERT, 'there is no lock to free');
}
}
####################################################################################################################################
# WAIT_REMAINDER - Wait the remainder of the current second
####################################################################################################################################
@ -698,4 +642,112 @@ sub ini_save
close($hFile);
}
####################################################################################################################################
####################################################################################################################################
# Wait Functions
####################################################################################################################################
####################################################################################################################################
push @EXPORT, qw(waitInit waitMore waitInterval);
####################################################################################################################################
# waitInit
####################################################################################################################################
sub waitInit
{
my $fWaitTime = shift;
my $fSleep = shift;
# Declare oWait hash
my $oWait = {};
# If wait seconds is not defined or 0 then return undef
if (!defined($fWaitTime) || $fWaitTime == 0)
{
return undef;
}
# Wait seconds can be a minimum of .1
if ($fWaitTime < .1)
{
confess &log(ASSERT, 'fWaitTime cannot be < .1');
}
# If fSleep is not defined set it
if (!defined($fSleep))
{
if ($fWaitTime >= 1)
{
$$oWait{sleep} = .1;
}
else
{
$$oWait{sleep} = $fWaitTime / 10;
}
}
# Else make sure it's not greater than fWaitTime
else
{
# Make sure fsleep is less than fWaitTime
if ($fSleep >= $fWaitTime)
{
confess &log(ASSERT, 'fSleep > fWaitTime - this is useless');
}
}
# Set variables
$$oWait{wait_time} = $fWaitTime;
$$oWait{time_begin} = gettimeofday();
$$oWait{time_end} = $$oWait{time_begin};
return $oWait;
}
####################################################################################################################################
# waitMore
####################################################################################################################################
sub waitMore
{
my $oWait = shift;
# Return if oWait is not defined
if (!defined($oWait))
{
return false;
}
# Sleep for fSleep time
hsleep($$oWait{sleep});
# Capture the end time
$$oWait{time_end} = gettimeofday();
# Calculate the new sleep time
$$oWait{sleep} = $$oWait{sleep} * 2 < $$oWait{wait_time} - ($$oWait{time_end} - $$oWait{time_begin}) ?
$$oWait{sleep} * 2 : ($$oWait{wait_time} - ($$oWait{time_end} - $$oWait{time_begin})) + .001;
if ((gettimeofday() - $$oWait{time_begin}) < $$oWait{wait_time})
{
return true;
}
return false;
}
####################################################################################################################################
# waitInterval
####################################################################################################################################
sub waitInterval
{
my $oWait = shift;
# Error if oWait is not defined
if (!defined($oWait))
{
confess &log("fWaitTime was not defined in waitInit");
}
return int(($$oWait{time_end} - $$oWait{time_begin}) * 1000) / 1000;
}
1;

View File

@ -92,11 +92,38 @@ sub BackRestTestBackup_PgDisconnect
# Connect to the db (whether it is local or remote)
if (defined($hDb))
{
$hDb->disconnect;
$hDb->disconnect();
undef($hDb);
}
}
####################################################################################################################################
# BackRestTestBackup_PgExecuteNoTrans
####################################################################################################################################
sub BackRestTestBackup_PgExecuteNoTrans
{
my $strSql = shift;
# Connect to the db with autocommit on so we can runs statements that can't run in transaction blocks
my $hDb = DBI->connect('dbi:Pg:dbname=postgres;port=' . BackRestTestCommon_DbPortGet .
';host=' . BackRestTestCommon_DbPathGet(),
BackRestTestCommon_UserGet(),
undef,
{AutoCommit => 1, RaiseError => 1});
# Log and execute the statement
&log(DEBUG, "SQL: ${strSql}");
my $hStatement = $hDb->prepare($strSql);
$hStatement->execute() or
confess &log(ERROR, "Unable to execute: ${strSql}");
$hStatement->finish();
# Close the connection
$hDb->disconnect();
}
####################################################################################################################################
# BackRestTestBackup_PgExecute
####################################################################################################################################
@ -251,7 +278,7 @@ sub BackRestTestBackup_ClusterStart
}
# Creat the archive command
my $strArchive = BackRestTestCommon_CommandMainGet() . ' --stanza=' . BackRestTestCommon_StanzaGet() .
my $strArchive = BackRestTestCommon_CommandMainAbsGet() . ' --stanza=' . BackRestTestCommon_StanzaGet() .
' --config=' . BackRestTestCommon_DbPathGet() . '/pg_backrest.conf archive-push %p';
# Start the cluster
@ -860,19 +887,23 @@ sub BackRestTestBackup_BackupBegin
my $bSynthetic = shift;
my $bTestPoint = shift;
my $fTestDelay = shift;
my $strOptionalParam = shift;
# Set defaults
$bTestPoint = defined($bTestPoint) ? $bTestPoint : false;
$fTestDelay = defined($fTestDelay) ? $fTestDelay : 0;
&log(INFO, " ${strType} backup" . (defined($strComment) ? " (${strComment})" : ''));
$strComment = "${strType} backup" . (defined($strComment) ? " (${strComment})" : '');
&log(INFO, " $strComment");
BackRestTestCommon_ExecuteBegin(BackRestTestCommon_CommandMainGet() . ' --config=' .
BackRestTestCommon_ExecuteBegin(($bRemote ? BackRestTestCommon_CommandMainAbsGet() : BackRestTestCommon_CommandMainGet()) .
' --config=' .
($bRemote ? BackRestTestCommon_RepoPathGet() : BackRestTestCommon_DbPathGet()) .
"/pg_backrest.conf" . ($bSynthetic ? " --no-start-stop" : '') .
(defined($strOptionalParam) ? " ${strOptionalParam}" : '') .
($strType ne 'incr' ? " --type=${strType}" : '') .
" --stanza=${strStanza} backup" . ($bTestPoint ? " --test --test-delay=${fTestDelay}": ''),
$bRemote);
$bRemote, $strComment);
}
####################################################################################################################################
@ -924,8 +955,10 @@ sub BackRestTestBackup_BackupSynthetic
my $strTestPoint = shift;
my $fTestDelay = shift;
my $iExpectedExitStatus = shift;
my $strOptionalParam = shift;
BackRestTestBackup_BackupBegin($strType, $strStanza, $bRemote, $strComment, true, defined($strTestPoint), $fTestDelay);
BackRestTestBackup_BackupBegin($strType, $strStanza, $bRemote, $strComment, true, defined($strTestPoint), $fTestDelay,
$strOptionalParam);
if (defined($strTestPoint))
{
@ -1170,6 +1203,8 @@ sub BackRestTestBackup_Restore
my $oRecoveryHashRef = shift;
my $strComment = shift;
my $iExpectedExitStatus = shift;
my $strOptionalParam = shift;
my $bCompare = shift;
# Set defaults
$bDelta = defined($bDelta) ? $bDelta : false;
@ -1177,7 +1212,7 @@ sub BackRestTestBackup_Restore
my $bSynthetic = defined($oExpectedManifestRef) ? true : false;
&log(INFO, ' restore' .
$strComment = 'restore' .
($bDelta ? ' delta' : '') .
($bForce ? ', force' : '') .
($strBackup ne 'latest' ? ", backup '${strBackup}'" : '') .
@ -1188,7 +1223,9 @@ sub BackRestTestBackup_Restore
(defined($bTargetResume) && $bTargetResume ? ', resume' : '') .
(defined($oRemapHashRef) ? ', remap' : '') .
(defined($iExpectedExitStatus) ? ", expect exit ${iExpectedExitStatus}" : '') .
(defined($strComment) ? " (${strComment})" : ''));
(defined($strComment) ? " (${strComment})" : '');
&log(INFO, " ${strComment}");
if (!defined($oExpectedManifestRef))
{
@ -1221,19 +1258,21 @@ sub BackRestTestBackup_Restore
}
# Create the backup command
BackRestTestCommon_Execute(BackRestTestCommon_CommandMainGet() . ' --config=' . BackRestTestCommon_DbPathGet() .
BackRestTestCommon_Execute(($bRemote ? BackRestTestCommon_CommandMainAbsGet() : BackRestTestCommon_CommandMainGet()) .
' --config=' . BackRestTestCommon_DbPathGet() .
'/pg_backrest.conf' . (defined($bDelta) && $bDelta ? ' --delta' : '') .
(defined($bForce) && $bForce ? ' --force' : '') .
($strBackup ne 'latest' ? " --set=${strBackup}" : '') .
(defined($strOptionalParam) ? " ${strOptionalParam} " : '') .
(defined($strType) && $strType ne RECOVERY_TYPE_DEFAULT ? " --type=${strType}" : '') .
(defined($strTarget) ? " --target=\"${strTarget}\"" : '') .
(defined($strTargetTimeline) ? " --target-timeline=\"${strTargetTimeline}\"" : '') .
(defined($bTargetExclusive) && $bTargetExclusive ? " --target-exclusive" : '') .
(defined($bTargetResume) && $bTargetResume ? " --target-resume" : '') .
" --stanza=${strStanza} restore",
undef, undef, undef, $iExpectedExitStatus);
undef, undef, undef, $iExpectedExitStatus, $strComment);
if (!defined($iExpectedExitStatus))
if (!defined($iExpectedExitStatus) && (!defined($bCompare) || $bCompare))
{
BackRestTestBackup_RestoreCompare($oFile, $strStanza, $bRemote, $strBackup, $bSynthetic, $oExpectedManifestRef);
}
@ -1279,11 +1318,27 @@ sub BackRestTestBackup_RestoreCompare
}
# Generate the tablespace map for real backups
my %oTablespaceMap;
# ${$oTablespaceMapRef}{oid}{$strName}{name} = $strName;
if (!$bSynthetic && defined(${$oExpectedManifestRef}{'backup:tablespace'}))
{
foreach my $strTablespaceName (keys(${$oExpectedManifestRef}{'backup:tablespace'}))
{
my $strTablespaceOid = ${$oExpectedManifestRef}{'backup:tablespace'}{$strTablespaceName}{link};
#
# confess "GOT HERE - $strTablespaceOid, $strTablespaceName";
$oTablespaceMap{oid}{$strTablespaceOid}{name} = $strTablespaceName;
}
}
# Generate the actual manifest
my $oActualManifest = new BackRest::Manifest("${strTestPath}/actual.manifest", false);
my $oTablespaceMapRef = undef;
$oActualManifest->build($oFile, ${$oExpectedManifestRef}{'backup:path'}{'base'}, $oLastManifest, true, undef);
$oActualManifest->build($oFile, ${$oExpectedManifestRef}{'backup:path'}{'base'}, $oLastManifest, $bSynthetic, \%oTablespaceMap);
# Generate checksums for all files if required
# Also fudge size if this is a synthetic test - sizes may change during backup.
@ -1294,6 +1349,8 @@ sub BackRestTestBackup_RestoreCompare
# Create all paths in the manifest that do not already exist
my $strSection = "${strSectionPathKey}:file";
if ($oActualManifest->test($strSection))
{
foreach my $strName ($oActualManifest->keys($strSection))
{
if (!$bSynthetic)
@ -1308,6 +1365,7 @@ sub BackRestTestBackup_RestoreCompare
}
}
}
}
# Set actual to expected for settings that always change from backup to backup
$oActualManifest->set(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_COMPRESS, undef,
@ -1424,6 +1482,8 @@ sub BackRestTestBackup_Test
# Setup test variables
my $iRun;
my $strModule = 'backup';
my $strThisTest;
my $bCreate;
my $strStanza = BackRestTestCommon_StanzaGet();
@ -1865,15 +1925,17 @@ sub BackRestTestBackup_Test
}
#-------------------------------------------------------------------------------------------------------------------------------
# Test backup
# Test synthetic
#
# Check the backup and restore functionality using synthetic data.
#-------------------------------------------------------------------------------------------------------------------------------
if ($strTest eq 'all' || $strTest eq 'backup')
$strThisTest = 'synthetic';
if ($strTest eq 'all' || $strTest eq $strThisTest)
{
$iRun = 0;
&log(INFO, "Test Backup\n");
&log(INFO, "Test ${strModule} - ${strThisTest}\n");
for (my $bRemote = false; $bRemote <= true; $bRemote++)
{
@ -1883,7 +1945,9 @@ sub BackRestTestBackup_Test
{
# Increment the run, log, and decide whether this unit test should be run
if (!BackRestTestCommon_Run(++$iRun,
"rmt ${bRemote}, cmp ${bCompress}, hardlink ${bHardlink}")) {next}
"rmt ${bRemote}, cmp ${bCompress}, hardlink ${bHardlink}",
$iThreadMax == 1 ? $strModule : undef,
$iThreadMax == 1 ? $strThisTest: undef)) {next}
# Get base time
my $lTime = time() - 100000;
@ -1949,7 +2013,8 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ManifestLinkCreate(\%oManifest, 'base', 'link-test', '/test');
BackRestTestBackup_ManifestPathCreate(\%oManifest, 'base', 'path-test');
my $strFullBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest);
my $strFullBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest,
undef, undef, undef, undef, '--manifest-save-threshold=3');
# Resume Full Backup
#-----------------------------------------------------------------------------------------------------------------------
@ -1960,6 +2025,10 @@ sub BackRestTestBackup_Test
BackRestTestCommon_PathMove(BackRestTestCommon_RepoPathGet() . "/backup/${strStanza}/${strFullBackup}",
$strTmpPath, $bRemote);
my $oMungeManifest = BackRestTestCommon_manifestLoad("$strTmpPath/backup.manifest", $bRemote);
$oMungeManifest->remove('base:file', 'PG_VERSION', 'checksum');
BackRestTestCommon_manifestSave("$strTmpPath/backup.manifest", $oMungeManifest, $bRemote);
$strFullBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest,
'resume', TEST_BACKUP_RESUME);
@ -1988,7 +2057,7 @@ sub BackRestTestBackup_Test
undef, undef, undef, undef, undef, undef,
'add and delete files');
# Incr backup - add a tablespace
# Incr backup
#-----------------------------------------------------------------------------------------------------------------------
$strType = 'incr';
BackRestTestBackup_ManifestReference(\%oManifest, $strFullBackup);
@ -1998,6 +2067,8 @@ sub BackRestTestBackup_Test
BackRestTestBackup_ManifestFileCreate(\%oManifest, "tablespace:1", 'tablespace1.txt', 'TBLSPC1',
'd85de07d6421d90aa9191c11c889bfde43680f0f', $lTime);
BackRestTestBackup_ManifestFileCreate(\%oManifest, "base", 'badchecksum.txt', 'BADCHECKSUM',
'f927212cd08d11a42a666b2f04235398e9ceeb51', $lTime);
my $strBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest,
@ -2013,6 +2084,10 @@ sub BackRestTestBackup_Test
BackRestTestCommon_PathMove(BackRestTestCommon_RepoPathGet() . "/backup/${strStanza}/${strBackup}",
$strTmpPath, $bRemote);
$oMungeManifest = BackRestTestCommon_manifestLoad("$strTmpPath/backup.manifest", $bRemote);
$oMungeManifest->set('base:file', 'badchecksum.txt', 'checksum', 'bogus');
BackRestTestCommon_manifestSave("$strTmpPath/backup.manifest", $oMungeManifest, $bRemote);
# Add tablespace 2
BackRestTestBackup_ManifestTablespaceCreate(\%oManifest, 2);
@ -2034,7 +2109,20 @@ sub BackRestTestBackup_Test
$strBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest,
'cannot resume - new diff', TEST_BACKUP_NORESUME);
# Restore -
# Resume Diff Backup
#-----------------------------------------------------------------------------------------------------------------------
$strType = 'diff';
$strTmpPath = BackRestTestCommon_RepoPathGet() . "/temp/${strStanza}.tmp";
BackRestTestCommon_PathMove(BackRestTestCommon_RepoPathGet() . "/backup/${strStanza}/${strBackup}",
$strTmpPath, $bRemote);
$strBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest,
'cannot resume - disabled', TEST_BACKUP_NORESUME, undef, undef,
'--no-resume');
# Restore
#-----------------------------------------------------------------------------------------------------------------------
$bDelta = false;
@ -2155,6 +2243,15 @@ sub BackRestTestBackup_Test
'cafac3c59553f2cfde41ce2e62e7662295f108c0', $lTime);
$strBackup = BackRestTestBackup_BackupSynthetic($strType, $strStanza, $bRemote, $oFile, \%oManifest, 'add files');
# Restore
#-----------------------------------------------------------------------------------------------------------------------
$bDelta = true;
BackRestTestBackup_Restore($oFile, $strBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
undef, undef, undef, undef, undef, undef,
'no tablespace remap', undef, '--no-tablespace', false);
}
}
}
@ -2291,6 +2388,10 @@ sub BackRestTestBackup_Test
$strTestPoint = TEST_MANIFEST_BUILD;
$strComment = 'update during backup';
BackRestTestBackup_PgExecuteNoTrans("create tablespace ts1 location '" .
BackRestTestCommon_DbTablespacePathGet(1) . "'");
BackRestTestBackup_PgExecute("alter table test set tablespace ts1", true);
BackRestTestBackup_PgExecute("create table test_remove (id int)", false);
BackRestTestBackup_PgSwitchXlog();
BackRestTestBackup_PgExecute("update test set message = '$strDefaultMessage'", false);
@ -2364,6 +2465,8 @@ sub BackRestTestBackup_Test
# Drop and recreate db path
BackRestTestCommon_PathRemove(BackRestTestCommon_DbCommonPathGet());
BackRestTestCommon_PathCreate(BackRestTestCommon_DbCommonPathGet());
BackRestTestCommon_PathRemove(BackRestTestCommon_DbTablespacePathGet(1));
BackRestTestCommon_PathCreate(BackRestTestCommon_DbTablespacePathGet(1));
# Now the restore should work
$strComment = undef;
@ -2395,7 +2498,7 @@ sub BackRestTestBackup_Test
BackRestTestBackup_Restore($oFile, $strIncrBackup, $strStanza, $bRemote, undef, undef, $bDelta, $bForce,
$strType, $strTarget, $bTargetExclusive, $bTargetResume, $strTargetTimeline,
$oRecoveryHashRef, $strComment, $iExpectedExitStatus);
$oRecoveryHashRef, $strComment, $iExpectedExitStatus, '--no-tablespace', false);
# Save recovery file to test so we can use it in the next test
$oFile->copy(PATH_ABSOLUTE, BackRestTestCommon_DbCommonPathGet() . '/recovery.conf',

View File

@ -40,7 +40,8 @@ our @EXPORT = qw(BackRestTestCommon_Create BackRestTestCommon_Drop BackRestTestC
BackRestTestCommon_RepoPathGet BackRestTestCommon_LocalPathGet BackRestTestCommon_DbPathGet
BackRestTestCommon_DbCommonPathGet BackRestTestCommon_ClusterStop BackRestTestCommon_DbTablespacePathGet
BackRestTestCommon_DbPortGet BackRestTestCommon_iniLoad BackRestTestCommon_iniSave BackRestTestCommon_DbVersion
BackRestTestCommon_CommandPsqlGet BackRestTestCommon_DropRepo BackRestTestCommon_CreateRepo);
BackRestTestCommon_CommandPsqlGet BackRestTestCommon_DropRepo BackRestTestCommon_CreateRepo
BackRestTestCommon_manifestLoad BackRestTestCommon_manifestSave BackRestTestCommon_CommandMainAbsGet);
my $strPgSqlBin;
my $strCommonStanza;
@ -51,6 +52,7 @@ my $strCommonHost;
my $strCommonUser;
my $strCommonGroup;
my $strCommonUserBackRest;
my $strCommonBasePath;
my $strCommonTestPath;
my $strCommonDataPath;
my $strCommonRepoPath;
@ -60,18 +62,27 @@ my $strCommonDbCommonPath;
my $strCommonDbTablespacePath;
my $iCommonDbPort;
my $strCommonDbVersion;
my $iModuleTestRun;
my $iModuleTestRunOnly;
my $bDryRun;
my $bNoCleanup;
my $bLogForce;
# Execution globals
my $strErrorLog;
my $hError;
my $strOutLog;
my $strFullLog;
my $bFullLog = false;
my $hOut;
my $pId;
my $strCommand;
# Test globals
my $strTestLog;
my $strModule;
my $strModuleTest;
my $iModuleTestRun;
####################################################################################################################################
# BackRestTestCommon_ClusterStop
####################################################################################################################################
@ -158,19 +169,32 @@ sub BackRestTestCommon_Run
{
my $iRun = shift;
my $strLog = shift;
my $strModuleParam = shift;
my $strModuleTestParam = shift;
if (defined($iModuleTestRun) && $iModuleTestRun != $iRun)
# &log(INFO, "module " . (defined($strModule) ? $strModule : ''));
BackRestTestCommon_TestLog();
if (defined($iModuleTestRunOnly) && $iModuleTestRunOnly != $iRun)
{
return false;
}
&log(INFO, 'run ' . sprintf('%03d', $iRun) . ' - ' . $strLog);
$strTestLog = 'run ' . sprintf('%03d', $iRun) . ' - ' . $strLog;
&log(INFO, $strTestLog);
if ($bDryRun)
{
return false;
}
$strFullLog = "${strTestLog}\n" . ('=' x length($strTestLog)) . "\n";
$strModule = $strModuleParam;
$strModuleTest = $strModuleTestParam;
$iModuleTestRun = $iRun;
return true;
}
@ -179,9 +203,50 @@ sub BackRestTestCommon_Run
####################################################################################################################################
sub BackRestTestCommon_Cleanup
{
BackRestTestCommon_TestLog();
return !$bNoCleanup && !$bDryRun;
}
####################################################################################################################################
# BackRestTestCommon_TestLog
####################################################################################################################################
sub BackRestTestCommon_TestLog
{
if (defined($strModule))
{
my $hFile;
my $strLogFile = BackRestTestCommon_BasePathGet() .
sprintf("/test/log/${strModule}-${strModuleTest}-%03d.log", $iModuleTestRun);
if (!$bLogForce && -e $strLogFile)
{
mkdir(BackRestTestCommon_TestPathGet() . '/log');
my $strTestLogFile = BackRestTestCommon_TestPathGet() .
sprintf("/log/${strModule}-${strModuleTest}-%03d.log", $iModuleTestRun);
open($hFile, '>', $strTestLogFile)
or die "Could not open file '${strTestLogFile}': $!";
print $hFile $strFullLog;
close $hFile;
BackRestTestCommon_Execute("diff ${strLogFile} ${strTestLogFile}");
}
else
{
open($hFile, '>', $strLogFile)
or die "Could not open file '${strLogFile}': $!";
print $hFile $strFullLog;
close $hFile;
}
undef($strModule);
}
}
####################################################################################################################################
# BackRestTestCommon_ExecuteBegin
####################################################################################################################################
@ -189,6 +254,7 @@ sub BackRestTestCommon_ExecuteBegin
{
my $strCommandParam = shift;
my $bRemote = shift;
my $strComment = shift;
# Set defaults
$bRemote = defined($bRemote) ? $bRemote : false;
@ -207,6 +273,31 @@ sub BackRestTestCommon_ExecuteBegin
$strOutLog = '';
$hOut = undef;
my $strBinPath = dirname(dirname(abs_path($0))) . '/bin';
$bFullLog = false;
if ($strCommandParam =~ /\/bin\/pg_backrest\.pl/)
{
my $strTestPath = BackRestTestCommon_TestPathGet();
$strCommandParam =~ s/$strBinPath/[BACKREST_BIN_PATH]/g;
$strCommandParam =~ s/[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}/[BACKUP_LABEL]/;
if (defined($strTestPath))
{
$strCommandParam =~ s/$strTestPath/[TEST_PATH]/g;
}
if (defined($strComment))
{
$strComment =~ s/[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}/[BACKUP_LABEL]/;
$strFullLog .= "\n${strComment}";
}
$strFullLog .= "\n> ${strCommandParam}\n" . ('-' x '132') . "\n";
$bFullLog = true;
}
&log(DEBUG, "executing command: ${strCommand}");
# Execute the command
@ -227,6 +318,10 @@ sub BackRestTestCommon_ExecuteEnd
$bSuppressError = defined($bSuppressError) ? $bSuppressError : false;
$bShowOutput = defined($bShowOutput) ? $bShowOutput : false;
# Get test path
my $strTestPath = BackRestTestCommon_TestPathGet();
my $strVersion = version_get();
# Create select objects
my $oErrorSelect = IO::Select->new();
$oErrorSelect->add($hError);
@ -257,6 +352,26 @@ sub BackRestTestCommon_ExecuteEnd
&log(DEBUG, "Found test ${strTest}");
return true;
}
if ($bFullLog)
{
$strLine =~ s/^[^ ]* [^ ]* [^ ]* //;
$strLine =~ s/[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}/[BACKUP_LABEL]/g;
$strLine =~ s/version = $strVersion/version = [VERSION]/g;
$strLine =~ s/modification_time = [0-9]+/modification_time = [MODIFICATION_TIME]/g;
$strLine =~ s/user = [^ \n,\[\]]+/user = [USER]/g;
$strLine =~ s/group = [^ \n,\[\]]+/group = [GROUP]/g;
if (defined($strTestPath))
{
$strLine =~ s/$strTestPath/[TEST_PATH]/g;
}
if ($strLine !~ /^ TEST/)
{
$strFullLog .= $strLine;
}
}
}
}
}
@ -310,8 +425,9 @@ sub BackRestTestCommon_Execute
my $bSuppressError = shift;
my $bShowOutput = shift;
my $iExpectedExitStatus = shift;
my $strComment = shift;
BackRestTestCommon_ExecuteBegin($strCommand, $bRemote);
BackRestTestCommon_ExecuteBegin($strCommand, $bRemote, $strComment);
return BackRestTestCommon_ExecuteEnd(undef, $bSuppressError, $bShowOutput, $iExpectedExitStatus);
}
@ -389,7 +505,7 @@ sub BackRestTestCommon_PathCopy
my $bRemote = shift;
my $bSuppressError = shift;
BackRestTestCommon_Execute("cp -rp ${strSourcePath} ${strDestinationPath}", $bRemote, $bSuppressError);
BackRestTestCommon_Execute("cp -RpP ${strSourcePath} ${strDestinationPath}", $bRemote, $bSuppressError);
}
####################################################################################################################################
@ -463,11 +579,12 @@ sub BackRestTestCommon_Setup
{
my $strTestPathParam = shift;
my $strPgSqlBinParam = shift;
my $iModuleTestRunParam = shift;
my $iModuleTestRunOnlyParam = shift;
my $bDryRunParam = shift;
my $bNoCleanupParam = shift;
my $bLogForceParam = shift;
my $strBasePath = dirname(dirname(abs_path($0)));
$strCommonBasePath = dirname(dirname(abs_path($0)));
$strPgSqlBin = $strPgSqlBinParam;
@ -483,24 +600,25 @@ sub BackRestTestCommon_Setup
}
else
{
$strCommonTestPath = "${strBasePath}/test/test";
$strCommonTestPath = "${strCommonBasePath}/test/test";
}
$strCommonDataPath = "${strBasePath}/test/data";
$strCommonDataPath = "${strCommonBasePath}/test/data";
$strCommonRepoPath = "${strCommonTestPath}/backrest";
$strCommonLocalPath = "${strCommonTestPath}/local";
$strCommonDbPath = "${strCommonTestPath}/db";
$strCommonDbCommonPath = "${strCommonTestPath}/db/common";
$strCommonDbTablespacePath = "${strCommonTestPath}/db/tablespace";
$strCommonCommandMain = "${strBasePath}/bin/pg_backrest.pl";
$strCommonCommandRemote = "${strBasePath}/bin/pg_backrest_remote.pl";
$strCommonCommandMain = "../bin/pg_backrest.pl";
$strCommonCommandRemote = "${strCommonBasePath}/bin/pg_backrest_remote.pl";
$strCommonCommandPsql = "${strPgSqlBin}/psql -X %option% -h ${strCommonDbPath}";
$iCommonDbPort = 6543;
$iModuleTestRun = $iModuleTestRunParam;
$iModuleTestRunOnly = $iModuleTestRunOnlyParam;
$bDryRun = $bDryRunParam;
$bNoCleanup = $bNoCleanupParam;
$bLogForce = $bLogForceParam;
BackRestTestCommon_Execute($strPgSqlBin . '/postgres --version');
@ -518,6 +636,59 @@ sub BackRestTestCommon_Setup
}
}
####################################################################################################################################
# BackRestTestCommon_manifestLoad
####################################################################################################################################
sub BackRestTestCommon_manifestLoad
{
my $strFileName = shift;
my $bRemote = shift;
# Defaults
$bRemote = defined($bRemote) ? $bRemote : false;
if ($bRemote)
{
BackRestTestCommon_Execute("chmod g+x " . BackRestTestCommon_RepoPathGet(), $bRemote);
}
my $oManifest = new BackRest::Manifest($strFileName);
if ($bRemote)
{
BackRestTestCommon_Execute("chmod g-x " . BackRestTestCommon_RepoPathGet(), $bRemote);
}
return $oManifest;
}
####################################################################################################################################
# BackRestTestCommon_manifestSave
####################################################################################################################################
sub BackRestTestCommon_manifestSave
{
my $strFileName = shift;
my $oManifest = shift;
my $bRemote = shift;
# Defaults
$bRemote = defined($bRemote) ? $bRemote : false;
if ($bRemote)
{
BackRestTestCommon_Execute("chmod g+x " . BackRestTestCommon_RepoPathGet(), $bRemote);
BackRestTestCommon_Execute("chmod g+w " . $strFileName, $bRemote);
}
$oManifest->save();
if ($bRemote)
{
BackRestTestCommon_Execute("chmod g-w " . $strFileName, $bRemote);
BackRestTestCommon_Execute("chmod g-x " . BackRestTestCommon_RepoPathGet(), $bRemote);
}
}
####################################################################################################################################
# BackRestTestCommon_iniLoad
####################################################################################################################################
@ -828,6 +999,11 @@ sub BackRestTestCommon_CommandMainGet
return $strCommonCommandMain;
}
sub BackRestTestCommon_CommandMainAbsGet
{
return abs_path($strCommonCommandMain);
}
sub BackRestTestCommon_CommandRemoteGet
{
return $strCommonCommandRemote;
@ -853,6 +1029,11 @@ sub BackRestTestCommon_UserBackRestGet
return $strCommonUserBackRest;
}
sub BackRestTestCommon_BasePathGet
{
return $strCommonBasePath;
}
sub BackRestTestCommon_TestPathGet
{
return $strCommonTestPath;

View File

@ -517,7 +517,7 @@ sub BackRestTestConfig_Test
configLoadExpect($oOption, OP_RESTORE);
my $strCommand = operationWrite(OP_ARCHIVE_GET);
my $strExpectedCommand = "$0 --backup-host=db.mydomain.com \"--db-path=/db path/main\"" .
my $strExpectedCommand = abs_path($0) . " --backup-host=db.mydomain.com \"--db-path=/db path/main\"" .
" --repo-path=/repo --stanza=main " . OP_ARCHIVE_GET;
if ($strCommand ne $strExpectedCommand)

View File

@ -0,0 +1,727 @@
run 001 - rmt 0, cmp 0, hardlink 0
==================================
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, compressed = false, hash_type = sha1
WARN: resumed backup file base/badchecksum.txt should have checksum bogus but actually has checksum f927212cd08d11a42a666b2f04235398e9ceeb51. The file will be recopied and backup will continue but this may be an issue unless the backup temp path is known to be corrupted.
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,866 @@
run 002 - rmt 0, cmp 0, hardlink 1
==================================
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, compressed = false, hash_type = sha1
WARN: resumed backup file base/badchecksum.txt should have checksum bogus but actually has checksum f927212cd08d11a42a666b2f04235398e9ceeb51. The file will be recopied and backup will continue but this may be an issue unless the backup temp path is known to be corrupted.
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,730 @@
run 003 - rmt 0, cmp 1, hardlink 0
==================================
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,869 @@
run 004 - rmt 0, cmp 1, hardlink 1
==================================
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: local db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> ../bin/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: local backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,727 @@
run 005 - rmt 1, cmp 0, hardlink 0
==================================
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, compressed = false, hash_type = sha1
WARN: resumed backup file base/badchecksum.txt should have checksum bogus but actually has checksum f927212cd08d11a42a666b2f04235398e9ceeb51. The file will be recopied and backup will continue but this may be an issue unless the backup temp path is known to be corrupted.
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,866 @@
run 006 - rmt 1, cmp 0, hardlink 1
==================================
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, compressed = false, hash_type = sha1
WARN: resumed backup file base/badchecksum.txt should have checksum bogus but actually has checksum f927212cd08d11a42a666b2f04235398e9ceeb51. The file will be recopied and backup will continue but this may be an issue unless the backup temp path is known to be corrupted.
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->hash: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, compressed = false, hash_type = sha1
INFO: checksum resumed file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,730 @@
run 007 - rmt 1, cmp 1, hardlink 0
==================================
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -0,0 +1,869 @@
run 008 - rmt 1, cmp 1, hardlink 1
==================================
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --manifest-save-threshold=3 --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: manifest saved
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: manifest saved
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup (resume)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/PG_VERSION (3B, 42%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/base/base1.txt (4B, 100%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
INFO: 7B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (add and delete files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
INFO: removing link [TEST_PATH]/db/common/link-test - destination changed
INFO: removing file/link [TEST_PATH]/db/common/deleteme/deleteme.txt
INFO: removing path [TEST_PATH]/db/common/deleteme
INFO: setting [TEST_PATH]/db/common/base mode to 0700
INFO: 1 file(s) removed during cleanup
INFO: 1 path(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common/base/base1.txt exists and matches backup (4B, 57%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common/PG_VERSION restore (3B, 100%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/recovery.conf
INFO: wrote [TEST_PATH]/db/common/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add tablespace 1)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 61%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 100%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
INFO: 18B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (resume and add tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup of same type exists, will be cleaned to remove invalid files and resumed
INFO: cleaning backup tmp path
DEBUG: File->manifest: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/link-test
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz
DEBUG: remove file [TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - new diff)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (new type 'diff' does not match aborted type 'incr') - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (cannot resume - disabled)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --no-resume --type=diff --stanza=db backup --test --test-delay=0
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common/pg_tblspc
DEBUG: Found tablespace 1
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2
DEBUG: File->wait: db:absolute
WARN: aborted backup exists, but cannot be resumed (resume is disabled) - will be dropped and recreated
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/1, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common/badchecksum.txt (11B, 44%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts1/tablespace1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1/tablespace1.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/1
INFO: backup file [TEST_PATH]/db/tablespace/ts1/tablespace1.txt (7B, 72%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2/tablespace2.txt (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
INFO: 25B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 115 (fail on used path)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common/backup.manifest
INFO: checking/cleaning db path [TEST_PATH]/db/common
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common
ERROR: [115] cannot restore to path '[TEST_PATH]/db/common' that contains files - try using --delta if this is what you intended
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on undef format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', expect exit 104 (fail on mismatch format)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common/backup.manifest, destination_path_create = false
ERROR: [104] backup format of [TEST_PATH]/db/common/backup.manifest is 0 but 3 is required by this version of PgBackRest. If you are attempting an incr/diff backup you will need to take a new full backup. If you are trying to restore, you''ll need to use a version that supports format 0.
DEBUG: safe exit called, terminating threads
restore, backup '[BACKUP_LABEL]', remap (remap all paths)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --set=[BACKUP_LABEL] --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: base path remapped to [TEST_PATH]/db/common-2
INFO: remapping tablespace 1 to [TEST_PATH]/db/tablespace/ts1-2
INFO: remapping tablespace 2 to [TEST_PATH]/db/tablespace/ts2-2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
INFO: checking/cleaning db path [TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/base, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/path-test, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->link_create: db:absolute:/test to db:absolute:[TEST_PATH]/db/common-2/link-test, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts1-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/1, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->link_create: db:absolute:[TEST_PATH]/db/tablespace/ts2-2 to db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, hard = false, relative = false, destination_path_create = true
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/badchecksum.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/badchecksum.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/badchecksum.txt restore (11B, 34%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/base/base1.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/base/base1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/base/base1.txt restore (4B, 46%) checksum a3b357a3e395e43fcfb19bb13f3c1b5179279593
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION.gz to local db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/PG_VERSION.backrest.tmp to absolute:[TEST_PATH]/db/common-2/PG_VERSION, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/PG_VERSION restore (3B, 56%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/1/tablespace1.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts1-2/tablespace1.txt restore (7B, 78%) checksum d85de07d6421d90aa9191c11c889bfde43680f0f
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads
incr backup (add files and remove tablespace 2)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 38%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 13B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (update files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 100%) checksum 9a53d532e27785e681766c98516a5e93f096a501
INFO: 8B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (no updates)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 28%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (8B, 48%) checksum 9a53d532e27785e681766c98516a5e93f096a501
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (5B, 61%) checksum 09b5e31766be1dba1ec27de82f975c1b6eea2a92
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 79%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt (8B, 100%) checksum e324463005236d83e6e54795dbddd20a74533bf3
INFO: 39B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
incr backup (remove files - but won't affect manifest)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 1, 1): ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2b.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2b.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2b.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (remove files during backup)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup --test --test-delay=1
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 35%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
INFO: skipped file removed by database: [TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 74%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 31B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
full backup
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=full --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/PG_VERSION to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/PG_VERSION (3B, 7%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/badchecksum.txt (11B, 33%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base1.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base1.txt (9B, 54%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt.gz, destination_path_create = true
DEBUG: File->path_create: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->exists: absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt (7B, 71%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt (12B, 100%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
INFO: 42B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
diff backup (add files)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/backrest/pg_backrest.conf --no-start-stop --type=diff --stanza=db backup
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: cluster path is [TEST_PATH]/db/common-2
DEBUG: File->path_create: backup:cluster:[TEST_PATH]/backrest/backup/db, mode [undef]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db
DEBUG: backup_regexp_get(1, 0, 0): ^[0-9]{8}\-[0-9]{6}F$
DEBUG: File->list: backup:cluster:[TEST_PATH]/backrest/backup/db, expression ^[0-9]{8}\-[0-9]{6}F$, sort reverse
INFO: last backup label = [BACKUP_LABEL], version = [VERSION]
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: Found tablespace 2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
DEBUG: Manifest->build
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/tablespace/ts2-2
DEBUG: File->wait: db:absolute
DEBUG: creating backup path [TEST_PATH]/backrest/temp/db.tmp
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/path-test, mode [undef]
DEBUG: File->path_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: File->link_create: backup:absolute:/test to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/link-test, hard = false, relative = false, destination_path_create = false
DEBUG: hard-linking [TEST_PATH]/db/common-2/PG_VERSION from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/PG_VERSION to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/PG_VERSION, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/badchecksum.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/badchecksum.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/badchecksum.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/common-2/base/base1.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/base/base/base1.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base1.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base, mode [undef]
DEBUG: File->link_create: backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2 to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc/2, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/base/pg_tblspc, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: hard-linking [TEST_PATH]/db/tablespace/ts2-2/tablespace2c.txt from [BACKUP_LABEL]
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt to backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2/tablespace2c.txt, hard = true, relative = false, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/temp/db.tmp/tablespace/2, mode [undef]
DEBUG: File->copy: remote db:absolute:[TEST_PATH]/db/common-2/base/base2.txt to local backup:tmp:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, source_compressed = false, destination_compress = true, ignore_missing_source = true, destination_path_create = true, modification_time = [MODIFICATION_TIME], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/backrest/temp/db.tmp/file.tmp to absolute:[TEST_PATH]/backrest/temp/db.tmp/base/base/base2.txt.gz, destination_path_create = true
INFO: backup file [TEST_PATH]/db/common-2/base/base2.txt (9B, 100%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
INFO: 9B total backup
INFO: new backup label: [BACKUP_LABEL]
DEBUG: moving [TEST_PATH]/backrest/temp/db.tmp to [TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->move: backup:tmp to backup:cluster:[BACKUP_LABEL], destination_path_create = false
DEBUG: File->remove: backup:cluster:[TEST_PATH]/backrest/backup/db/latest
DEBUG: File->link_create: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL] to backup:cluster:[TEST_PATH]/backrest/backup/db/latest, hard = false, relative = true, destination_path_create = true
DEBUG: File->path_create: backup:absolute:[TEST_PATH]/backrest/backup/db, mode [undef]
INFO: archive rentention type not set - archive logs will not be expired
DEBUG: safe exit called, terminating threads
restore delta, backup '[BACKUP_LABEL]' (no tablespace remap)
> [BACKREST_BIN_PATH]/pg_backrest.pl --config=[TEST_PATH]/db/pg_backrest.conf --delta --set=[BACKUP_LABEL] --no-tablespace --stanza=db restore
------------------------------------------------------------------------------------------------------------------------------------
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/postmaster.pid
INFO: Restoring backup set [BACKUP_LABEL]
DEBUG: File->exists: backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/backup.manifest to local db:absolute:[TEST_PATH]/db/common-2/backup.manifest, source_compressed = false, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [undef], mode = [undef], user = [undef], group = [undef]
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/backup.manifest.backrest.tmp to absolute:[TEST_PATH]/db/common-2/backup.manifest, destination_path_create = false
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/backup.manifest
INFO: remapping tablespace 2 to [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->manifest: db:absolute:[TEST_PATH]/db/common-2
INFO: removing file/link [TEST_PATH]/db/common-2/pg_tblspc/2
INFO: checking/cleaning db path [TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
INFO: 1 file(s) removed during cleanup
INFO: 1 link(s) removed during cleanup
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/path-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: File->path_create: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2, mode 0700
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/link-test
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2
DEBUG: starting restore in main process
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/badchecksum.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/badchecksum.txt exists and matches backup (11B, 21%) checksum f927212cd08d11a42a666b2f04235398e9ceeb51
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base2.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base2.txt exists and matches backup (9B, 39%) checksum cafac3c59553f2cfde41ce2e62e7662295f108c0
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/base/base1.txt, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/base/base1.txt exists and matches backup (9B, 56%) checksum 7579ada0808d7f98087a0a586d0df9de009cdc33
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION
DEBUG: File->hash: db:absolute:[TEST_PATH]/db/common-2/PG_VERSION, compressed = false, hash_type = sha1
INFO: [TEST_PATH]/db/common-2/PG_VERSION exists and matches backup (3B, 62%) checksum e1f7a3a299f62225cba076fc6d3d6e677f303482
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2c.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2c.txt restore (12B, 86%) checksum dfcb8679956b734706cf87259d50c88f83e80e66
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt
DEBUG: File->copy: remote backup:cluster:[TEST_PATH]/backrest/backup/db/[BACKUP_LABEL]/tablespace/2/tablespace2.txt.gz to local db:absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, source_compressed = true, destination_compress = false, ignore_missing_source = false, destination_path_create = false, modification_time = [MODIFICATION_TIME], mode = 0600, user = [USER], group = [GROUP]
DEBUG: File->owner: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp, user = [USER] = staff
DEBUG: File->move: absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt.backrest.tmp to absolute:[TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt, destination_path_create = false
INFO: [TEST_PATH]/db/common-2/pg_tblspc/2/tablespace2.txt restore (7B, 100%) checksum dc7f76e43c46101b47acc55ae4d593a9e6983578
DEBUG: File->exists: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
DEBUG: File->remove: db:absolute:[TEST_PATH]/db/common-2/recovery.conf
INFO: wrote [TEST_PATH]/db/common-2/recovery.conf
INFO: restore complete
DEBUG: safe exit called, terminating threads

View File

@ -49,6 +49,7 @@ test.pl [options]
--no-cleanup don't cleaup after the last test is complete - useful for debugging
--infinite repeat selected tests forever
--db-version version of postgres to test (or all)
--log-force force overwrite of current test log files
Configuration Options:
--psql-bin path to the psql executables (e.g. /usr/lib/postgresql/9.3/bin/)
@ -78,6 +79,7 @@ my $bHelp = false;
my $bQuiet = false;
my $bInfinite = false;
my $strDbVersion = 'max';
my $bLogForce = false;
GetOptions ('q|quiet' => \$bQuiet,
'version' => \$bVersion,
@ -92,7 +94,8 @@ GetOptions ('q|quiet' => \$bQuiet,
'dry-run' => \$bDryRun,
'no-cleanup' => \$bNoCleanup,
'infinite' => \$bInfinite,
'db-version=s' => \$strDbVersion)
'db-version=s' => \$strDbVersion,
'log-force' => \$bLogForce)
or pod2usage(2);
# Display version and exit if requested
@ -115,6 +118,12 @@ if (@ARGV > 0)
pod2usage();
}
# Must be run from the test path so relative paths to bin can be tested
if ($0 ne './test.pl')
{
confess 'test.pl must be run from the test path';
}
####################################################################################################################################
# Setup
####################################################################################################################################
@ -239,7 +248,7 @@ my $iRun = 0;
do
{
BackRestTestCommon_Setup($strTestPath, $stryTestVersion[0], $iModuleTestRun, $bDryRun, $bNoCleanup);
BackRestTestCommon_Setup($strTestPath, $stryTestVersion[0], $iModuleTestRun, $bDryRun, $bNoCleanup, $bLogForce);
&log(INFO, "TESTING psql-bin = $stryTestVersion[0]\n");