1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-06-23 00:07:44 +02:00

Resolve storage path expressions before passing to remote.

Expressions such as <REPO:ARCHIVE> require a stanza name in order to be resolved correctly.  However, if the stanza name is passed to the remote then that remote will only work correctly for that one stanza.

Instead, resolved the expressions locally but still pass a relative path to the remote.  That way, a storage path that is only configured on the remote does not need to be known locally.
This commit is contained in:
David Steele
2019-02-21 15:40:21 +02:00
parent b4d4680f8c
commit b1eb8af7d5
13 changed files with 81 additions and 80 deletions

View File

@ -49,6 +49,10 @@
<p>Add <id>exists()</id> to remote storage.</p> <p>Add <id>exists()</id> to remote storage.</p>
</release-item> </release-item>
<release-item>
<p>Resolve storage path expressions before passing to remote.</p>
</release-item>
<release-item> <release-item>
<p>Add <id>storageHelperFree()</id> to storage helper.</p> <p>Add <id>storageHelperFree()</id> to storage helper.</p>
</release-item> </release-item>

View File

@ -88,6 +88,11 @@ protocolParam(RemoteType remoteType, unsigned int remoteId)
// Add the process id -- used when more than one process will be called // Add the process id -- used when more than one process will be called
kvPut(optionReplace, varNewStr(strNew(cfgOptionName(cfgOptProcess))), varNewInt(0)); kvPut(optionReplace, varNewStr(strNew(cfgOptionName(cfgOptProcess))), varNewInt(0));
// Don't pass the stanza if it is set. It is better if the remote is stanza-agnostic so the client can operate on multiple
// stanzas without starting a new remote. Once the Perl code is removed the stanza option can be removed from the remote
// command.
kvPut(optionReplace, varNewStr(strNew(cfgOptionName(cfgOptStanza))), NULL);
// Add the type // Add the type
kvPut(optionReplace, varNewStr(strNew(cfgOptionName(cfgOptType))), varNewStr(strNew("backup"))); kvPut(optionReplace, varNewStr(strNew(cfgOptionName(cfgOptType))), varNewStr(strNew("backup")));

View File

@ -57,7 +57,7 @@ storageDriverPosixNew(
this->memContext = MEM_CONTEXT_NEW(); this->memContext = MEM_CONTEXT_NEW();
this->interface = storageNewP( this->interface = storageNewP(
STORAGE_DRIVER_POSIX_TYPE_STR, path, modeFile, modePath, write, true, pathExpressionFunction, this, STORAGE_DRIVER_POSIX_TYPE_STR, path, modeFile, modePath, write, pathExpressionFunction, this,
.exists = (StorageInterfaceExists)storageDriverPosixExists, .info = (StorageInterfaceInfo)storageDriverPosixInfo, .exists = (StorageInterfaceExists)storageDriverPosixExists, .info = (StorageInterfaceInfo)storageDriverPosixInfo,
.list = (StorageInterfaceList)storageDriverPosixList, .move = (StorageInterfaceMove)storageDriverPosixMove, .list = (StorageInterfaceList)storageDriverPosixList, .move = (StorageInterfaceMove)storageDriverPosixMove,
.newRead = (StorageInterfaceNewRead)storageDriverPosixNewRead, .newRead = (StorageInterfaceNewRead)storageDriverPosixNewRead,

View File

@ -30,18 +30,16 @@ New object
***********************************************************************************************************************************/ ***********************************************************************************************************************************/
StorageDriverRemote * StorageDriverRemote *
storageDriverRemoteNew( storageDriverRemoteNew(
const String *path, mode_t modeFile, mode_t modePath, bool write, StoragePathExpressionCallback pathExpressionFunction, mode_t modeFile, mode_t modePath, bool write, StoragePathExpressionCallback pathExpressionFunction, RemoteType remoteType,
RemoteType remoteType, unsigned int remoteId) unsigned int remoteId)
{ {
FUNCTION_LOG_BEGIN(logLevelDebug); FUNCTION_LOG_BEGIN(logLevelDebug);
FUNCTION_LOG_PARAM(STRING, path);
FUNCTION_LOG_PARAM(MODE, modeFile); FUNCTION_LOG_PARAM(MODE, modeFile);
FUNCTION_LOG_PARAM(MODE, modePath); FUNCTION_LOG_PARAM(MODE, modePath);
FUNCTION_LOG_PARAM(BOOL, write); FUNCTION_LOG_PARAM(BOOL, write);
FUNCTION_LOG_PARAM(FUNCTIONP, pathExpressionFunction); FUNCTION_LOG_PARAM(FUNCTIONP, pathExpressionFunction);
FUNCTION_LOG_END(); FUNCTION_LOG_END();
ASSERT(path != NULL);
ASSERT(modeFile != 0); ASSERT(modeFile != 0);
ASSERT(modePath != 0); ASSERT(modePath != 0);
@ -57,7 +55,7 @@ storageDriverRemoteNew(
// Create the storage interface // Create the storage interface
this->interface = storageNewP( this->interface = storageNewP(
STORAGE_DRIVER_REMOTE_TYPE_STR, path, modeFile, modePath, write, false, pathExpressionFunction, this, STORAGE_DRIVER_REMOTE_TYPE_STR, NULL, modeFile, modePath, write, pathExpressionFunction, this,
.exists = (StorageInterfaceExists)storageDriverRemoteExists, .info = (StorageInterfaceInfo)storageDriverRemoteInfo, .exists = (StorageInterfaceExists)storageDriverRemoteExists, .info = (StorageInterfaceInfo)storageDriverRemoteInfo,
.list = (StorageInterfaceList)storageDriverRemoteList, .newRead = (StorageInterfaceNewRead)storageDriverRemoteNewRead, .list = (StorageInterfaceList)storageDriverRemoteList, .newRead = (StorageInterfaceNewRead)storageDriverRemoteNewRead,
.newWrite = (StorageInterfaceNewWrite)storageDriverRemoteNewWrite, .newWrite = (StorageInterfaceNewWrite)storageDriverRemoteNewWrite,

View File

@ -23,8 +23,8 @@ Driver type constant
Constructor Constructor
***********************************************************************************************************************************/ ***********************************************************************************************************************************/
StorageDriverRemote *storageDriverRemoteNew( StorageDriverRemote *storageDriverRemoteNew(
const String *path, mode_t modeFile, mode_t modePath, bool write, StoragePathExpressionCallback pathExpressionFunction, mode_t modeFile, mode_t modePath, bool write, StoragePathExpressionCallback pathExpressionFunction, RemoteType remoteType,
RemoteType remoteType, unsigned int remoteId); unsigned int remoteId);
/*********************************************************************************************************************************** /***********************************************************************************************************************************
Functions Functions

View File

@ -262,7 +262,7 @@ storageDriverS3New(
// Create the storage interface // Create the storage interface
this->interface = storageNewP( this->interface = storageNewP(
STORAGE_DRIVER_S3_TYPE_STR, path, 0, 0, write, true, pathExpressionFunction, this, STORAGE_DRIVER_S3_TYPE_STR, path, 0, 0, write, pathExpressionFunction, this,
.exists = (StorageInterfaceExists)storageDriverS3Exists, .info = (StorageInterfaceInfo)storageDriverS3Info, .exists = (StorageInterfaceExists)storageDriverS3Exists, .info = (StorageInterfaceInfo)storageDriverS3Info,
.list = (StorageInterfaceList)storageDriverS3List, .newRead = (StorageInterfaceNewRead)storageDriverS3NewRead, .list = (StorageInterfaceList)storageDriverS3List, .newRead = (StorageInterfaceNewRead)storageDriverS3NewRead,
.newWrite = (StorageInterfaceNewWrite)storageDriverS3NewWrite, .newWrite = (StorageInterfaceNewWrite)storageDriverS3NewWrite,

View File

@ -209,8 +209,7 @@ storageRepoGet(const String *type, bool write)
{ {
result = storageDriverRemoteInterface( result = storageDriverRemoteInterface(
storageDriverRemoteNew( storageDriverRemoteNew(
cfgOptionStr(cfgOptRepoPath), STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, write, STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, write, storageRepoPathExpression, remoteTypeRepo, 1));
storageRepoPathExpression, remoteTypeRepo, 1));
} }
// For now treat posix and cifs drivers as if they are the same. This won't be true once the repository storage becomes // For now treat posix and cifs drivers as if they are the same. This won't be true once the repository storage becomes
// writable but for now it's OK. The assertion above should pop if we try to create writable repo storage. // writable but for now it's OK. The assertion above should pop if we try to create writable repo storage.

View File

@ -34,7 +34,7 @@ New storage object
***********************************************************************************************************************************/ ***********************************************************************************************************************************/
Storage * Storage *
storageNew( storageNew(
const String *type, const String *path, mode_t modeFile, mode_t modePath, bool write, bool pathResolve, const String *type, const String *path, mode_t modeFile, mode_t modePath, bool write,
StoragePathExpressionCallback pathExpressionFunction, void *driver, StorageInterface interface) StoragePathExpressionCallback pathExpressionFunction, void *driver, StorageInterface interface)
{ {
FUNCTION_LOG_BEGIN(logLevelTrace); FUNCTION_LOG_BEGIN(logLevelTrace);
@ -43,14 +43,13 @@ storageNew(
FUNCTION_LOG_PARAM(MODE, modeFile); FUNCTION_LOG_PARAM(MODE, modeFile);
FUNCTION_LOG_PARAM(MODE, modePath); FUNCTION_LOG_PARAM(MODE, modePath);
FUNCTION_LOG_PARAM(BOOL, write); FUNCTION_LOG_PARAM(BOOL, write);
FUNCTION_LOG_PARAM(BOOL, pathResolve);
FUNCTION_LOG_PARAM(FUNCTIONP, pathExpressionFunction); FUNCTION_LOG_PARAM(FUNCTIONP, pathExpressionFunction);
FUNCTION_LOG_PARAM_P(VOID, driver); FUNCTION_LOG_PARAM_P(VOID, driver);
FUNCTION_LOG_PARAM(STORAGE_INTERFACE, interface); FUNCTION_LOG_PARAM(STORAGE_INTERFACE, interface);
FUNCTION_LOG_END(); FUNCTION_LOG_END();
ASSERT(type != NULL); ASSERT(type != NULL);
ASSERT(path != NULL && strSize(path) >= 1 && strPtr(path)[0] == '/'); ASSERT(path == NULL || (strSize(path) >= 1 && strPtr(path)[0] == '/'));
ASSERT(driver != NULL); ASSERT(driver != NULL);
ASSERT(interface.exists != NULL); ASSERT(interface.exists != NULL);
ASSERT(interface.info != NULL); ASSERT(interface.info != NULL);
@ -73,7 +72,6 @@ storageNew(
this->modeFile = modeFile; this->modeFile = modeFile;
this->modePath = modePath; this->modePath = modePath;
this->write = write; this->write = write;
this->pathResolve = pathResolve;
this->pathExpressionFunction = pathExpressionFunction; this->pathExpressionFunction = pathExpressionFunction;
FUNCTION_LOG_RETURN(STORAGE, this); FUNCTION_LOG_RETURN(STORAGE, this);
@ -412,13 +410,8 @@ storagePath(const Storage *this, const String *pathExp)
String *result = NULL; String *result = NULL;
// If the path will not be resolved here then just make a copy
if (!this->pathResolve)
{
result = strDup(pathExp);
}
// If there is no path expression then return the base storage path // If there is no path expression then return the base storage path
else if (pathExp == NULL) if (pathExp == NULL)
{ {
result = strDup(this->path); result = strDup(this->path);
} }
@ -428,7 +421,7 @@ storagePath(const Storage *this, const String *pathExp)
if ((strPtr(pathExp))[0] == '/') if ((strPtr(pathExp))[0] == '/')
{ {
// Make sure the base storage path is contained within the path expression // Make sure the base storage path is contained within the path expression
if (!strEqZ(this->path, "/")) if (this->path != NULL && !strEqZ(this->path, "/"))
{ {
if (!strBeginsWith(pathExp, this->path) || if (!strBeginsWith(pathExp, this->path) ||
!(strSize(pathExp) == strSize(this->path) || *(strPtr(pathExp) + strSize(this->path)) == '/')) !(strSize(pathExp) == strSize(this->path) || *(strPtr(pathExp) + strSize(this->path)) == '/'))
@ -492,7 +485,9 @@ storagePath(const Storage *this, const String *pathExp)
strFree(path); strFree(path);
} }
if (strEqZ(this->path, "/")) if (this->path == NULL)
result = strDup(pathExp);
else if (strEqZ(this->path, "/"))
result = strNewFmt("/%s", strPtr(pathExp)); result = strNewFmt("/%s", strPtr(pathExp));
else else
result = strNewFmt("%s/%s", strPtr(this->path), strPtr(pathExp)); result = strNewFmt("%s/%s", strPtr(this->path), strPtr(pathExp));

View File

@ -47,11 +47,11 @@ typedef struct StorageInterface
StorageInterfaceRemove remove; StorageInterfaceRemove remove;
} StorageInterface; } StorageInterface;
#define storageNewP(type, path, modeFile, modePath, write, pathResolve, pathExpressionFunction, driver, ...) \ #define storageNewP(type, path, modeFile, modePath, write, pathExpressionFunction, driver, ...) \
storageNew(type, path, modeFile, modePath, write, pathResolve, pathExpressionFunction, driver, (StorageInterface){__VA_ARGS__}) storageNew(type, path, modeFile, modePath, write, pathExpressionFunction, driver, (StorageInterface){__VA_ARGS__})
Storage *storageNew( Storage *storageNew(
const String *type, const String *path, mode_t modeFile, mode_t modePath, bool write, bool pathResolve, const String *type, const String *path, mode_t modeFile, mode_t modePath, bool write,
StoragePathExpressionCallback pathExpressionFunction, void *driver, StorageInterface interface); StoragePathExpressionCallback pathExpressionFunction, void *driver, StorageInterface interface);
/*********************************************************************************************************************************** /***********************************************************************************************************************************

View File

@ -13,7 +13,7 @@ P00 INFO: archive-push command end: aborted with exception [055]
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get 000000010000000100000001 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get 000000010000000100000001 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000001, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --stanza=db P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000001, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --stanza=db
P00 ERROR: [055]: unable to load info file '<REPO:ARCHIVE>/archive.info' or '<REPO:ARCHIVE>/archive.info.copy': P00 ERROR: [055]: unable to load info file 'archive/db/archive.info' or 'archive/db/archive.info.copy':
FileMissingError: raised from remote-1 protocol on 'backup': unable to open '[TEST_PATH]/backup/repo/archive/db/archive.info' for read: [2] No such file or directory FileMissingError: raised from remote-1 protocol on 'backup': unable to open '[TEST_PATH]/backup/repo/archive/db/archive.info' for read: [2] No such file or directory
FileMissingError: raised from remote-1 protocol on 'backup': unable to open '[TEST_PATH]/backup/repo/archive/db/archive.info.copy' for read: [2] No such file or directory FileMissingError: raised from remote-1 protocol on 'backup': unable to open '[TEST_PATH]/backup/repo/archive/db/archive.info.copy' for read: [2] No such file or directory
HINT: archive.info cannot be opened but is required to push/get WAL segments. HINT: archive.info cannot be opened but is required to push/get WAL segments.
@ -110,11 +110,11 @@ P00 DEBUG: main::main: => 0
P00 INFO: archive-get command begin [BACKREST-VERSION]: [700000007000000070000000, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --stanza=db P00 INFO: archive-get command begin [BACKREST-VERSION]: [700000007000000070000000, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --stanza=db
P00 DEBUG: config/load::cfgLoad: => void P00 DEBUG: config/load::cfgLoad: => void
P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void) P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (path: {"/var/lib/pgbackrest"}, modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *)) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *))
P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]} P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}
P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000) P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000)
P00 DEBUG: common/exec::execNew: => {Exec} P00 DEBUG: common/exec::execNew: => {Exec}
P00 DEBUG: common/exec::execOpen: (this: {Exec}) P00 DEBUG: common/exec::execOpen: (this: {Exec})
P00 DEBUG: common/exec::execOpen: => void P00 DEBUG: common/exec::execOpen: => void
@ -134,15 +134,15 @@ P00 DEBUG: storage/storage::storageNewRead: => {type: posix, name: {"[TEST_
P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512) P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512)
P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>} P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>}
P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90400, systemId: 1000000000000000094, walSegmentSize: 16777216, pageChecksum: true} P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90400, systemId: 1000000000000000094, walSegmentSize: 16777216, pageChecksum: true}
P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 0) P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 0)
P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 0) P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 0)
P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 0) P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 0)
P00 DEBUG: info/info::infoNew: => {Info} P00 DEBUG: info/info::infoNew: => {Info}
P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg} P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg}
P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive} P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive}
P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, archiveId: {"9.4-1"}, walSegment: {"700000007000000070000000"}) P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: null, write: false}, archiveId: {"9.4-1"}, walSegment: {"700000007000000070000000"})
P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, pathExp: {"<REPO:ARCHIVE>/9.4-1/7000000070000000"}, param.errorOnMissing: false, param.expression: {"^700000007000000070000000-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: null, write: false}, pathExp: {"<REPO:ARCHIVE>/9.4-1/7000000070000000"}, param.errorOnMissing: false, param.expression: {"^700000007000000070000000-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"<REPO:ARCHIVE>/9.4-1/7000000070000000"}, errorOnMissing: false, expression: {"^700000007000000070000000-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"archive/db/9.4-1/7000000070000000"}, errorOnMissing: false, expression: {"^700000007000000070000000-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => null P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => null
P00 DEBUG: storage/storage::storageList: => null P00 DEBUG: storage/storage::storageList: => null
P00 DEBUG: command/archive/common::walSegmentFind: => null P00 DEBUG: command/archive/common::walSegmentFind: => null
@ -162,11 +162,11 @@ P00 DEBUG: main::main: => 1
P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000001, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --stanza=db P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000001, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --stanza=db
P00 DEBUG: config/load::cfgLoad: => void P00 DEBUG: config/load::cfgLoad: => void
P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void) P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (path: {"/var/lib/pgbackrest"}, modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *)) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *))
P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]} P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}
P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000) P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000)
P00 DEBUG: common/exec::execNew: => {Exec} P00 DEBUG: common/exec::execNew: => {Exec}
P00 DEBUG: common/exec::execOpen: (this: {Exec}) P00 DEBUG: common/exec::execOpen: (this: {Exec})
P00 DEBUG: common/exec::execOpen: => void P00 DEBUG: common/exec::execOpen: => void
@ -186,15 +186,15 @@ P00 DEBUG: storage/storage::storageNewRead: => {type: posix, name: {"[TEST_
P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512) P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512)
P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>} P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>}
P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90400, systemId: 1000000000000000094, walSegmentSize: 16777216, pageChecksum: true} P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90400, systemId: 1000000000000000094, walSegmentSize: 16777216, pageChecksum: true}
P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 0) P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 0)
P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 0) P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 0)
P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 0) P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 0)
P00 DEBUG: info/info::infoNew: => {Info} P00 DEBUG: info/info::infoNew: => {Info}
P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg} P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg}
P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive} P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive}
P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, archiveId: {"9.4-1"}, walSegment: {"000000010000000100000001"}) P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: null, write: false}, archiveId: {"9.4-1"}, walSegment: {"000000010000000100000001"})
P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, pathExp: {"<REPO:ARCHIVE>/9.4-1/0000000100000001"}, param.errorOnMissing: false, param.expression: {"^000000010000000100000001-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: null, write: false}, pathExp: {"<REPO:ARCHIVE>/9.4-1/0000000100000001"}, param.errorOnMissing: false, param.expression: {"^000000010000000100000001-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"<REPO:ARCHIVE>/9.4-1/0000000100000001"}, errorOnMissing: false, expression: {"^000000010000000100000001-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"archive/db/9.4-1/0000000100000001"}, errorOnMissing: false, expression: {"^000000010000000100000001-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => {["000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"]} P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => {["000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"]}
P00 DEBUG: storage/storage::storageList: => {["000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"]} P00 DEBUG: storage/storage::storageList: => {["000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"]}
P00 DEBUG: command/archive/common::walSegmentFind: => {"000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"} P00 DEBUG: command/archive/common::walSegmentFind: => {"000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}
@ -205,11 +205,11 @@ P00 DEBUG: storage/storage::storageNewWrite: (this: {type: posix, path: {"/
P00 DEBUG: storage/storage::storageNewWrite: => {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false} P00 DEBUG: storage/storage::storageNewWrite: => {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false}
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: false, done: true}, filter: {IoFilter}) P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: false, done: true}, filter: {IoFilter})
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true} P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true}
P00 DEBUG: storage/storage::storageNewRead: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileExp: {"<REPO:ARCHIVE>/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, param.ignoreMissing: false, param.filterGroup: null) P00 DEBUG: storage/storage::storageNewRead: (this: {type: remote, path: null, write: false}, fileExp: {"<REPO:ARCHIVE>/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, param.ignoreMissing: false, param.filterGroup: null)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: (this: {StorageDriverRemote}, file: {"<REPO:ARCHIVE>/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: (this: {StorageDriverRemote}, file: {"archive/db/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: => {type: remote, name: {"<REPO:ARCHIVE>/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false} P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: => {type: remote, name: {"archive/db/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false}
P00 DEBUG: storage/storage::storageNewRead: => {type: remote, name: {"<REPO:ARCHIVE>/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false} P00 DEBUG: storage/storage::storageNewRead: => {type: remote, name: {"archive/db/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false}
P00 DEBUG: storage/storage::storageCopy: (source: {type: remote, name: {"<REPO:ARCHIVE>/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false}, destination: {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false}) P00 DEBUG: storage/storage::storageCopy: (source: {type: remote, name: {"archive/db/9.4-1/0000000100000001/000000010000000100000001-ceb021d9bb41f220511e413b095d2b0d89fec113.gz"}, ignoreMissing: false}, destination: {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false})
P00 DEBUG: storage/storage::storageCopy: => true P00 DEBUG: storage/storage::storageCopy: => true
P00 DEBUG: command/archive/get/file::archiveGetFile: => 0 P00 DEBUG: command/archive/get/file::archiveGetFile: => 0
P00 INFO: found 000000010000000100000001 in the archive P00 INFO: found 000000010000000100000001 in the archive

View File

@ -400,11 +400,11 @@ db-version="9.4"
P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000002, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-2] --stanza=db P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000002, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-2] --stanza=db
P00 DEBUG: config/load::cfgLoad: => void P00 DEBUG: config/load::cfgLoad: => void
P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void) P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (path: {"/var/lib/pgbackrest"}, modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *)) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *))
P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]} P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}
P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000) P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000)
P00 DEBUG: common/exec::execNew: => {Exec} P00 DEBUG: common/exec::execNew: => {Exec}
P00 DEBUG: common/exec::execOpen: (this: {Exec}) P00 DEBUG: common/exec::execOpen: (this: {Exec})
P00 DEBUG: common/exec::execOpen: => void P00 DEBUG: common/exec::execOpen: => void
@ -424,15 +424,15 @@ P00 DEBUG: storage/storage::storageNewRead: => {type: posix, name: {"[TEST_
P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512) P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512)
P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>} P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>}
P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90300, systemId: 1000000000000000093, walSegmentSize: 16777216, pageChecksum: true} P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90300, systemId: 1000000000000000093, walSegmentSize: 16777216, pageChecksum: true}
P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 1) P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 1)
P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 1) P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 1)
P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 1) P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 1)
P00 DEBUG: info/info::infoNew: => {Info} P00 DEBUG: info/info::infoNew: => {Info}
P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg} P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg}
P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive} P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive}
P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, archiveId: {"9.3-1"}, walSegment: {"000000010000000100000002"}) P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: null, write: false}, archiveId: {"9.3-1"}, walSegment: {"000000010000000100000002"})
P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, pathExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001"}, param.errorOnMissing: false, param.expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: null, write: false}, pathExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001"}, param.errorOnMissing: false, param.expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"<REPO:ARCHIVE>/9.3-1/0000000100000001"}, errorOnMissing: false, expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"archive/db/9.3-1/0000000100000001"}, errorOnMissing: false, expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]} P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]}
P00 DEBUG: storage/storage::storageList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]} P00 DEBUG: storage/storage::storageList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]}
P00 DEBUG: command/archive/common::walSegmentFind: => {"000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"} P00 DEBUG: command/archive/common::walSegmentFind: => {"000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}
@ -445,11 +445,11 @@ P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: fal
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true} P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true}
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: false, done: true}, filter: {IoFilter}) P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: false, done: true}, filter: {IoFilter})
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true} P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true}
P00 DEBUG: storage/storage::storageNewRead: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, param.ignoreMissing: false, param.filterGroup: null) P00 DEBUG: storage/storage::storageNewRead: (this: {type: remote, path: null, write: false}, fileExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, param.ignoreMissing: false, param.filterGroup: null)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: (this: {StorageDriverRemote}, file: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: (this: {StorageDriverRemote}, file: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: => {type: remote, name: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false} P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: => {type: remote, name: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}
P00 DEBUG: storage/storage::storageNewRead: => {type: remote, name: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false} P00 DEBUG: storage/storage::storageNewRead: => {type: remote, name: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}
P00 DEBUG: storage/storage::storageCopy: (source: {type: remote, name: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}, destination: {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false}) P00 DEBUG: storage/storage::storageCopy: (source: {type: remote, name: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}, destination: {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false})
P00 DEBUG: storage/storage::storageCopy: => true P00 DEBUG: storage/storage::storageCopy: => true
P00 DEBUG: command/archive/get/file::archiveGetFile: => 0 P00 DEBUG: command/archive/get/file::archiveGetFile: => 0
P00 INFO: found 000000010000000100000002 in the archive P00 INFO: found 000000010000000100000002 in the archive

View File

@ -493,11 +493,11 @@ db-version="9.4"
P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000002, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-2] --stanza=db P00 INFO: archive-get command begin [BACKREST-VERSION]: [000000010000000100000002, [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --no-log-timestamp --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-2] --stanza=db
P00 DEBUG: config/load::cfgLoad: => void P00 DEBUG: config/load::cfgLoad: => void
P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void) P00 DEBUG: command/archive/get/get::cmdArchiveGet: (void)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (path: {"/var/lib/pgbackrest"}, modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *)) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNew: (modeFile: 0640, modePath: 0750, write: false, pathExpressionFunction: (function *))
P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolGet: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1) P00 DEBUG: protocol/helper::protocolParam: (remoteType: 0, remoteId: 1)
P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]} P00 DEBUG: protocol/helper::protocolParam: => {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}
P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --stanza=db --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000) P00 DEBUG: common/exec::execNew: (command: {"ssh"}, param: {["-o", "LogLevel=error", "-o", "Compression=no", "-o", "PasswordAuthentication=no", "pgbackrest@backup", "[BACKREST-BIN] --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --log-subprocess --pg1-path=[TEST_PATH]/db-master/db/base --process=0 --protocol-timeout=60 --type=backup remote"]}, name: {"remote-1 process on 'backup'"}, timeout: 60000)
P00 DEBUG: common/exec::execNew: => {Exec} P00 DEBUG: common/exec::execNew: => {Exec}
P00 DEBUG: common/exec::execOpen: (this: {Exec}) P00 DEBUG: common/exec::execOpen: (this: {Exec})
P00 DEBUG: common/exec::execOpen: => void P00 DEBUG: common/exec::execOpen: => void
@ -517,15 +517,15 @@ P00 DEBUG: storage/storage::storageNewRead: => {type: posix, name: {"[TEST_
P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512) P00 DEBUG: storage/storage::storageGet: (file: {type: posix, name: {"[TEST_PATH]/db-master/db/base/global/pg_control"}, ignoreMissing: false}, param.exactSize: 512)
P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>} P00 DEBUG: storage/storage::storageGet: => {used: 512, size: 512, limit: <off>}
P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90300, systemId: 1000000000000000093, walSegmentSize: 16777216, pageChecksum: true} P00 DEBUG: postgres/interface::pgControlFromFile: => {version: 90300, systemId: 1000000000000000093, walSegmentSize: 16777216, pageChecksum: true}
P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 0) P00 DEBUG: info/infoArchive::infoArchiveNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, ignoreMissing: false, cipherType: 0)
P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 0) P00 DEBUG: info/infoPg::infoPgNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, type: 0, cipherType: 0)
P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 0) P00 DEBUG: info/info::infoNew: (storage: {type: remote, path: null, write: false}, fileName: {"<REPO:ARCHIVE>/archive.info"}, cipherType: 0)
P00 DEBUG: info/info::infoNew: => {Info} P00 DEBUG: info/info::infoNew: => {Info}
P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg} P00 DEBUG: info/infoPg::infoPgNew: => {InfoPg}
P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive} P00 DEBUG: info/infoArchive::infoArchiveNew: => {InfoArchive}
P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, archiveId: {"9.3-1"}, walSegment: {"000000010000000100000002"}) P00 DEBUG: command/archive/common::walSegmentFind: (storage: {type: remote, path: null, write: false}, archiveId: {"9.3-1"}, walSegment: {"000000010000000100000002"})
P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, pathExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001"}, param.errorOnMissing: false, param.expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/storage::storageList: (this: {type: remote, path: null, write: false}, pathExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001"}, param.errorOnMissing: false, param.expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"<REPO:ARCHIVE>/9.3-1/0000000100000001"}, errorOnMissing: false, expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"}) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: (this: {StorageDriverRemote}, path: {"archive/db/9.3-1/0000000100000001"}, errorOnMissing: false, expression: {"^000000010000000100000002-[0-f]{40}(\.gz){0,1}$"})
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]} P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]}
P00 DEBUG: storage/storage::storageList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]} P00 DEBUG: storage/storage::storageList: => {["000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"]}
P00 DEBUG: command/archive/common::walSegmentFind: => {"000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"} P00 DEBUG: command/archive/common::walSegmentFind: => {"000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}
@ -536,11 +536,11 @@ P00 DEBUG: storage/storage::storageNewWrite: (this: {type: posix, path: {"/
P00 DEBUG: storage/storage::storageNewWrite: => {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false} P00 DEBUG: storage/storage::storageNewWrite: => {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false}
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: false, done: true}, filter: {IoFilter}) P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: (this: {inputSame: false, done: true}, filter: {IoFilter})
P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true} P00 DEBUG: common/io/filter/group::ioFilterGroupAdd: => {inputSame: false, done: true}
P00 DEBUG: storage/storage::storageNewRead: (this: {type: remote, path: {"/var/lib/pgbackrest"}, write: false}, fileExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, param.ignoreMissing: false, param.filterGroup: null) P00 DEBUG: storage/storage::storageNewRead: (this: {type: remote, path: null, write: false}, fileExp: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, param.ignoreMissing: false, param.filterGroup: null)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: (this: {StorageDriverRemote}, file: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false) P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: (this: {StorageDriverRemote}, file: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false)
P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: => {type: remote, name: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false} P00 DEBUG: storage/driver/remote/storage::storageDriverRemoteNewRead: => {type: remote, name: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}
P00 DEBUG: storage/storage::storageNewRead: => {type: remote, name: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false} P00 DEBUG: storage/storage::storageNewRead: => {type: remote, name: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}
P00 DEBUG: storage/storage::storageCopy: (source: {type: remote, name: {"<REPO:ARCHIVE>/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}, destination: {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false}) P00 DEBUG: storage/storage::storageCopy: (source: {type: remote, name: {"archive/db/9.3-1/0000000100000001/000000010000000100000002-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz"}, ignoreMissing: false}, destination: {type: posix, name: {"[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG"}, modeFile: 0640, modePath: 0750, createPath: false, syncFile: false, syncPath: false, atomic: false})
P00 DEBUG: storage/storage::storageCopy: => true P00 DEBUG: storage/storage::storageCopy: => true
P00 DEBUG: command/archive/get/file::archiveGetFile: => 0 P00 DEBUG: command/archive/get/file::archiveGetFile: => 0
P00 INFO: found 000000010000000100000002 in the archive P00 INFO: found 000000010000000100000002 in the archive

View File

@ -100,7 +100,7 @@ testRun(void)
strPtr( strPtr(
strNew( strNew(
"-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|repo-host-user@repo-host" "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|repo-host-user@repo-host"
"|pgbackrest --command=archive-get --process=0 --stanza=test1 --type=backup remote")), "|pgbackrest --command=archive-get --process=0 --type=backup remote")),
"remote protocol params"); "remote protocol params");
// ------------------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------------------
@ -122,7 +122,7 @@ testRun(void)
strNew( strNew(
"-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|-p|444|repo-host-user@repo-host" "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|-p|444|repo-host-user@repo-host"
"|pgbackrest --command=archive-get --config=/path/pgbackrest.conf --config-include-path=/path/include" "|pgbackrest --command=archive-get --config=/path/pgbackrest.conf --config-include-path=/path/include"
" --config-path=/path/config --process=0 --stanza=test1 --type=backup remote")), " --config-path=/path/config --process=0 --type=backup remote")),
"remote protocol params with replacements"); "remote protocol params with replacements");
} }