You've already forked pgbackrest
							
							
				mirror of
				https://github.com/pgbackrest/pgbackrest.git
				synced 2025-10-30 23:37:45 +02:00 
			
		
		
		
	Rename db-* options to pg-* and backup-* options to repo-* to improve consistency.
* repo-* options are now indexed although only one is allowed. * List deprecated option names in documentation and command-line help.
This commit is contained in:
		| @@ -36,7 +36,7 @@ before_install: | ||||
| install: | ||||
|   - | | ||||
|     # User Configuration | ||||
|     sudo adduser --ingroup=${USER?} --disabled-password --gecos "" backrest | ||||
|     sudo adduser --ingroup=${USER?} --disabled-password --gecos "" pgbackrest | ||||
|     umask 0022 | ||||
|     cd ~ && pwd && whoami && umask && groups | ||||
|     mv ${TRAVIS_BUILD_DIR?} pgbackrest | ||||
|   | ||||
| @@ -181,7 +181,7 @@ sub buildConfig | ||||
|         for (my $iOptionIndex = 1; $iOptionIndex <= $iOptionIndexTotal; $iOptionIndex++) | ||||
|         { | ||||
|             # Create the indexed version of the option name | ||||
|             my $strOptionIndex = $iOptionIndexTotal > 1 ? | ||||
|             my $strOptionIndex = defined($strOptionPrefix) ? | ||||
|                 "${strOptionPrefix}${iOptionIndex}-" . substr($strOption, length($strOptionPrefix) + 1) : $strOption; | ||||
|  | ||||
|             # Add option data | ||||
|   | ||||
| @@ -273,15 +273,6 @@ sub renderOptional | ||||
|         $bSingleLine = true; | ||||
|     } | ||||
|  | ||||
|     if (defined($rhOptional->{&CFGDEF_ALT_NAME})) | ||||
|     { | ||||
|         $strBuildSourceOptional .= | ||||
|             (defined($strBuildSourceOptional) && !$bSingleLine ? "\n" : '') . | ||||
|             "${strIndent}            CFGDEFDATA_OPTION_OPTIONAL_NAME_ALT(\"" . $rhOptional->{&CFGDEF_ALT_NAME} . "\")\n"; | ||||
|  | ||||
|         $bSingleLine = true; | ||||
|     } | ||||
|  | ||||
|     if (defined($rhOptional->{&CFGDEF_PREFIX})) | ||||
|     { | ||||
|         $strBuildSourceOptional .= | ||||
| @@ -291,6 +282,17 @@ sub renderOptional | ||||
|         $bSingleLine = true; | ||||
|     } | ||||
|  | ||||
|     # Output alternate name | ||||
|     if (!$bCommand && defined($rhOptionHelp->{&CONFIG_HELP_NAME_ALT})) | ||||
|     { | ||||
|         $strBuildSourceOptional .= | ||||
|             (defined($strBuildSourceOptional) && !$bSingleLine ? "\n" : '') . | ||||
|             "${strIndent}            CFGDEFDATA_OPTION_OPTIONAL_HELP_NAME_ALT(" . | ||||
|                 join(', ', bldQuoteList($rhOptionHelp->{&CONFIG_HELP_NAME_ALT})) . ")\n"; | ||||
|  | ||||
|         $bSingleLine = true; | ||||
|     } | ||||
|  | ||||
|     if ($bCommand && defined($rhOptional->{&CFGDEF_REQUIRED})) | ||||
|     { | ||||
|         $strBuildSourceOptional .= | ||||
| @@ -301,7 +303,8 @@ sub renderOptional | ||||
|         $bSingleLine = true; | ||||
|     } | ||||
|  | ||||
|     if ($bCommand && defined($rhOptionHelp) && $rhOptionHelp->{&CONFIG_HELP_SOURCE} eq CONFIG_HELP_SOURCE_COMMAND) | ||||
|     if ($bCommand && defined($rhOptionHelp) && defined($rhOptionHelp->{&CONFIG_HELP_SOURCE}) && | ||||
|         $rhOptionHelp->{&CONFIG_HELP_SOURCE} eq CONFIG_HELP_SOURCE_COMMAND) | ||||
|     { | ||||
|         my $strSummary = helpFormatText($oManifest, $oDocRender, $rhOptionHelp->{&CONFIG_HELP_SUMMARY}, 0, 72); | ||||
|  | ||||
| @@ -516,7 +519,7 @@ sub buildConfigDefine | ||||
|             "        )\n"; | ||||
|  | ||||
|         # Render optional data | ||||
|         my $strBuildSourceOptional = renderOptional($rhOption); | ||||
|         my $strBuildSourceOptional = renderOptional($rhOption, false, $hOptionHelp, $oManifest, $oDocRender); | ||||
|  | ||||
|         # Render command overrides | ||||
|         foreach my $strCommand (cfgDefineCommandList()) | ||||
|   | ||||
| @@ -64,7 +64,7 @@ sub buildConfigParse | ||||
|  | ||||
|     my $strBuildSource = | ||||
|         "static const struct option optionList[] =\n" . | ||||
|         "{\n"; | ||||
|         "{"; | ||||
|  | ||||
|     foreach my $strOption (sort(keys(%{$rhConfigDefine}))) | ||||
|     { | ||||
| @@ -73,37 +73,79 @@ sub buildConfigParse | ||||
|         my $strOptionArg = ($rhOption->{&CFGDEF_TYPE} ne CFGDEF_TYPE_BOOLEAN ? "        .has_arg = required_argument,\n" : ''); | ||||
|         my $strOptionPrefix = $rhConfigDefine->{$strOption}{&CFGDEF_PREFIX}; | ||||
|  | ||||
|         for (my $iOptionIdx = 0; $iOptionIdx <= $rhOption->{&CFGDEF_INDEX_TOTAL}; $iOptionIdx++) | ||||
|         my @stryOptionName = ($strOption); | ||||
|  | ||||
|         if (defined($rhOption->{&CFGDEF_NAME_ALT})) | ||||
|         { | ||||
|             # Don't and option indexes if it is not indexeds | ||||
|             next if ($iOptionIdx == 1 && $rhOption->{&CFGDEF_INDEX_TOTAL} == 1); | ||||
|  | ||||
|             # Generate option name | ||||
|             my $strOptionName = $iOptionIdx > 0 ? | ||||
|                 "${strOptionPrefix}${iOptionIdx}-" . substr($strOption, length($strOptionPrefix) + 1) : $strOption; | ||||
|  | ||||
|             # Generate option value used for parsing (offset is added so options don't conflict with getopt_long return values) | ||||
|             my $strOptionFlag = 'PARSE_OPTION_FLAG |'; | ||||
|  | ||||
|             my $strOptionVal = | ||||
|                 ($iOptionIdx > 1 ? "(" : '') . $strOptionEnum . ($iOptionIdx > 1 ? " + " . ($iOptionIdx - 1) . ')' : ''); | ||||
|  | ||||
|             # Add option | ||||
|             $strBuildSource .= | ||||
|                 "    {\n" . | ||||
|                 "        .name = \"${strOptionName}\",\n" . | ||||
|                 $strOptionArg . | ||||
|                 "        .val = ${strOptionFlag} ${strOptionVal},\n" . | ||||
|                 "    },\n"; | ||||
|  | ||||
|             # Add negation when defined | ||||
|             if ($rhOption->{&CFGDEF_NEGATE}) | ||||
|             foreach my $strOptionNameAlt (sort(keys(%{$rhOption->{&CFGDEF_NAME_ALT}}))) | ||||
|             { | ||||
|                 push(@stryOptionName, $strOptionNameAlt); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         $strBuildSource .= | ||||
|             "\n" . | ||||
|             "    // ${strOption} option" . (@stryOptionName > 1 ? ' and deprecations' : '') . "\n" . | ||||
|             "    // " . (qw{-} x 125) . "\n"; | ||||
|  | ||||
|         for (my $iOptionIdx = 1; $iOptionIdx <= $rhOption->{&CFGDEF_INDEX_TOTAL}; $iOptionIdx++) | ||||
|         { | ||||
|             for (my $iOptionNameIdx = 0; $iOptionNameIdx < @stryOptionName; $iOptionNameIdx++) | ||||
|             { | ||||
|                 my $strOptionName = $stryOptionName[$iOptionNameIdx]; | ||||
|                 my $rhNameAlt = $rhOption->{&CFGDEF_NAME_ALT}{$strOptionName}; | ||||
|  | ||||
|                 # Skip alt name if it is not valid for this option index | ||||
|                 if ($iOptionNameIdx > 0 && defined($rhNameAlt->{&CFGDEF_INDEX}) && $rhNameAlt->{&CFGDEF_INDEX} != $iOptionIdx) | ||||
|                 { | ||||
|                     next; | ||||
|                 } | ||||
|  | ||||
|                 # Generate output name | ||||
|                 my $strOptionNameOut = $strOptionName; | ||||
|  | ||||
|                 if (defined($strOptionPrefix)) | ||||
|                 { | ||||
|                     if ($iOptionNameIdx == 0) | ||||
|                     { | ||||
|                         $strOptionNameOut = | ||||
|                             "${strOptionPrefix}${iOptionIdx}-" . substr($strOptionName, length($strOptionPrefix) + 1); | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         $strOptionNameOut =~ s/\?/$iOptionIdx/g; | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 # Generate option value used for parsing (offset is added so options don't conflict with getopt_long return values) | ||||
|                 my $strOptionFlag = 'PARSE_OPTION_FLAG |'; | ||||
|  | ||||
|                 if ($iOptionNameIdx > 0) | ||||
|                 { | ||||
|                     $strOptionFlag .= ' PARSE_DEPRECATE_FLAG |'; | ||||
|                 } | ||||
|  | ||||
|                 my $strOptionVal = | ||||
|                     ($iOptionIdx > 1 ? "(" : '') . $strOptionEnum . ($iOptionIdx > 1 ? " + " . ($iOptionIdx - 1) . ')' : ''); | ||||
|  | ||||
|                 # Add option | ||||
|                 $strBuildSource .= | ||||
|                     "    {\n" . | ||||
|                     "        .name = \"no-${strOptionName}\",\n" . | ||||
|                     "        .val = ${strOptionFlag} PARSE_NEGATE_FLAG | ${strOptionVal},\n" . | ||||
|                     "        .name = \"${strOptionNameOut}\",\n" . | ||||
|                     $strOptionArg . | ||||
|                     "        .val = ${strOptionFlag} ${strOptionVal},\n" . | ||||
|                     "    },\n"; | ||||
|  | ||||
|                 # Add negation when defined | ||||
|                 if ($rhOption->{&CFGDEF_NEGATE} && | ||||
|                     !($iOptionNameIdx > 0 && defined($rhNameAlt->{&CFGDEF_NEGATE}) && !$rhNameAlt->{&CFGDEF_NEGATE})) | ||||
|                 { | ||||
|                     $strBuildSource .= | ||||
|                         "    {\n" . | ||||
|                         "        .name = \"no-${strOptionNameOut}\",\n" . | ||||
|                         "        .val = ${strOptionFlag} PARSE_NEGATE_FLAG | ${strOptionVal},\n" . | ||||
|                         "    },\n"; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -190,15 +190,50 @@ use constant CFGOPT_PERL_BIN                                        => 'perl-bin | ||||
| use constant CFGOPT_PERL_OPTION                                     => 'perl-option'; | ||||
|     push @EXPORT, qw(CFGOPT_PERL_OPTION); | ||||
|  | ||||
| # Repository | ||||
| use constant CFGOPT_REPO_PATH                                       => 'repo-path'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_PATH); | ||||
| use constant CFGOPT_REPO_TYPE                                       => 'repo-type'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_TYPE); | ||||
| # Logging | ||||
| use constant CFGOPT_LOG_LEVEL_CONSOLE                               => 'log-level-console'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_LEVEL_CONSOLE); | ||||
| use constant CFGOPT_LOG_LEVEL_FILE                                  => 'log-level-file'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_LEVEL_FILE); | ||||
| use constant CFGOPT_LOG_LEVEL_STDERR                                => 'log-level-stderr'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_LEVEL_STDERR); | ||||
| use constant CFGOPT_LOG_TIMESTAMP                                   => 'log-timestamp'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_TIMESTAMP); | ||||
|  | ||||
|  | ||||
| # Repository options | ||||
| #----------------------------------------------------------------------------------------------------------------------------------- | ||||
| # Determines how many repositories can be configured | ||||
| use constant CFGDEF_INDEX_REPO                                      => 1; | ||||
|     push @EXPORT, qw(CFGDEF_INDEX_PG); | ||||
|  | ||||
| # Prefix that must be used by all repo options that allow multiple configurations | ||||
| use constant CFGDEF_PREFIX_REPO                                     => 'repo'; | ||||
|     push @EXPORT, qw(CFGDEF_PREFIX_REPO); | ||||
|  | ||||
| # Repository General | ||||
| use constant CFGOPT_REPO_CIPHER_TYPE                                => 'repo-cipher-type'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_CIPHER_TYPE); | ||||
| use constant CFGOPT_REPO_CIPHER_PASS                                => 'repo-cipher-pass'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_CIPHER_PASS); | ||||
| use constant CFGOPT_REPO_HARDLINK                                   => 'repo-hardlink'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_HARDLINK); | ||||
| use constant CFGOPT_REPO_PATH                                       => 'repo-path'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_PATH); | ||||
| use constant CFGOPT_REPO_TYPE                                       => 'repo-type'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_TYPE); | ||||
|  | ||||
| # Repository Host | ||||
| use constant CFGOPT_REPO_HOST                                       => 'repo-host'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_HOST); | ||||
| use constant CFGOPT_REPO_HOST_CMD                                   => 'repo-host-cmd'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_HOST_CMD); | ||||
| use constant CFGOPT_REPO_HOST_CONFIG                                => 'repo-host-config'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_HOST_CONFIG); | ||||
| use constant CFGOPT_REPO_HOST_PORT                                  => 'repo-host-port'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_HOST_PORT); | ||||
| use constant CFGOPT_REPO_HOST_USER                                  => 'repo-host-user'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_HOST_USER); | ||||
|  | ||||
| # Repository S3 | ||||
| use constant CFGOPT_REPO_S3_KEY                                     => 'repo-s3-key'; | ||||
| @@ -220,16 +255,6 @@ use constant CFGOPT_REPO_S3_REGION                                  => 'repo-s3- | ||||
| use constant CFGOPT_REPO_S3_VERIFY_SSL                              => 'repo-s3-verify-ssl'; | ||||
|     push @EXPORT, qw(CFGOPT_REPO_S3_VERIFY_SSL); | ||||
|  | ||||
| # Logging | ||||
| use constant CFGOPT_LOG_LEVEL_CONSOLE                               => 'log-level-console'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_LEVEL_CONSOLE); | ||||
| use constant CFGOPT_LOG_LEVEL_FILE                                  => 'log-level-file'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_LEVEL_FILE); | ||||
| use constant CFGOPT_LOG_LEVEL_STDERR                                => 'log-level-stderr'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_LEVEL_STDERR); | ||||
| use constant CFGOPT_LOG_TIMESTAMP                                   => 'log-timestamp'; | ||||
|     push @EXPORT, qw(CFGOPT_LOG_TIMESTAMP); | ||||
|  | ||||
| # Archive options | ||||
| #----------------------------------------------------------------------------------------------------------------------------------- | ||||
| use constant CFGOPT_ARCHIVE_ASYNC                                   => 'archive-async'; | ||||
| @@ -243,22 +268,10 @@ use constant CFGOPT_ARCHIVE_CHECK                                   => 'archive- | ||||
|     push @EXPORT, qw(CFGOPT_ARCHIVE_CHECK); | ||||
| use constant CFGOPT_ARCHIVE_COPY                                    => 'archive-copy'; | ||||
|     push @EXPORT, qw(CFGOPT_ARCHIVE_COPY); | ||||
| use constant CFGOPT_BACKUP_CMD                                      => 'backup-cmd'; | ||||
|     push @EXPORT, qw(CFGOPT_BACKUP_CMD); | ||||
| use constant CFGOPT_BACKUP_CONFIG                                   => 'backup-config'; | ||||
|     push @EXPORT, qw(CFGOPT_BACKUP_CONFIG); | ||||
| use constant CFGOPT_BACKUP_HOST                                     => 'backup-host'; | ||||
|     push @EXPORT, qw(CFGOPT_BACKUP_HOST); | ||||
| use constant CFGOPT_BACKUP_SSH_PORT                                 => 'backup-ssh-port'; | ||||
|     push @EXPORT, qw(CFGOPT_BACKUP_SSH_PORT); | ||||
| use constant CFGOPT_BACKUP_STANDBY                                  => 'backup-standby'; | ||||
|     push @EXPORT, qw(CFGOPT_BACKUP_STANDBY); | ||||
| use constant CFGOPT_BACKUP_USER                                     => 'backup-user'; | ||||
|     push @EXPORT, qw(CFGOPT_BACKUP_USER); | ||||
| use constant CFGOPT_CHECKSUM_PAGE                                   => 'checksum-page'; | ||||
|     push @EXPORT, qw(CFGOPT_CHECKSUM_PAGE); | ||||
| use constant CFGOPT_HARDLINK                                        => 'hardlink'; | ||||
|     push @EXPORT, qw(CFGOPT_HARDLINK); | ||||
| use constant CFGOPT_MANIFEST_SAVE_THRESHOLD                         => 'manifest-save-threshold'; | ||||
|     push @EXPORT, qw(CFGOPT_MANIFEST_SAVE_THRESHOLD); | ||||
| use constant CFGOPT_RESUME                                          => 'resume'; | ||||
| @@ -297,29 +310,30 @@ use constant CFGOPT_RECOVERY_OPTION                                 => 'recovery | ||||
| # Stanza options | ||||
| #----------------------------------------------------------------------------------------------------------------------------------- | ||||
| # Determines how many databases can be configured | ||||
| use constant CFGDEF_INDEX_DB                                        => 8; | ||||
|     push @EXPORT, qw(CFGDEF_INDEX_DB); | ||||
| use constant CFGDEF_INDEX_PG                                        => 8; | ||||
|     push @EXPORT, qw(CFGDEF_INDEX_PG); | ||||
|  | ||||
| # Prefix that must be used by all db options that allow multiple configurations | ||||
| use constant CFGDEF_PREFIX_DB                                       => 'db'; | ||||
|     push @EXPORT, qw(CFGDEF_PREFIX_DB); | ||||
| use constant CFGDEF_PREFIX_PG                                       => 'pg'; | ||||
|     push @EXPORT, qw(CFGDEF_PREFIX_PG); | ||||
|  | ||||
| use constant CFGOPT_DB_CMD                                          => CFGDEF_PREFIX_DB . '-cmd'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_CMD); | ||||
| use constant CFGOPT_DB_CONFIG                                       => CFGDEF_PREFIX_DB . '-config'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_CONFIG); | ||||
| use constant CFGOPT_DB_HOST                                         => CFGDEF_PREFIX_DB . '-host'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_HOST); | ||||
| use constant CFGOPT_DB_PATH                                         => CFGDEF_PREFIX_DB . '-path'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_PATH); | ||||
| use constant CFGOPT_DB_PORT                                         => CFGDEF_PREFIX_DB . '-port'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_PORT); | ||||
| use constant CFGOPT_DB_SSH_PORT                                     => CFGDEF_PREFIX_DB . '-ssh-port'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_SSH_PORT); | ||||
| use constant CFGOPT_DB_SOCKET_PATH                                  => CFGDEF_PREFIX_DB . '-socket-path'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_SOCKET_PATH); | ||||
| use constant CFGOPT_DB_USER                                         => CFGDEF_PREFIX_DB . '-user'; | ||||
|     push @EXPORT, qw(CFGOPT_DB_USER); | ||||
| use constant CFGOPT_PG_HOST                                         => CFGDEF_PREFIX_PG . '-host'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_HOST); | ||||
| use constant CFGOPT_PG_HOST_CMD                                     => CFGOPT_PG_HOST . '-cmd'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_HOST_CMD); | ||||
| use constant CFGOPT_PG_HOST_CONFIG                                  => CFGOPT_PG_HOST . '-config'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_HOST_CONFIG); | ||||
| use constant CFGOPT_PG_HOST_PORT                                    => CFGOPT_PG_HOST . '-port'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_HOST_PORT); | ||||
| use constant CFGOPT_PG_HOST_USER                                    => CFGOPT_PG_HOST . '-user'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_HOST_USER); | ||||
|  | ||||
| use constant CFGOPT_PG_PATH                                         => CFGDEF_PREFIX_PG . '-path'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_PATH); | ||||
| use constant CFGOPT_PG_PORT                                         => CFGDEF_PREFIX_PG . '-port'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_PORT); | ||||
| use constant CFGOPT_PG_SOCKET_PATH                                  => CFGDEF_PREFIX_PG . '-socket-path'; | ||||
|     push @EXPORT, qw(CFGOPT_PG_SOCKET_PATH); | ||||
|  | ||||
| #################################################################################################################################### | ||||
| # Option values - for options that have a specific list of allowed values | ||||
| @@ -417,8 +431,6 @@ use constant CFGDEF_DEFAULT_RETENTION_MAX                           => 9999999; | ||||
|  | ||||
| # Option defines | ||||
| #----------------------------------------------------------------------------------------------------------------------------------- | ||||
| use constant CFGDEF_ALT_NAME                                        => 'alt-name'; | ||||
|     push @EXPORT, qw(CFGDEF_ALT_NAME); | ||||
| use constant CFGDEF_ALLOW_LIST                                      => 'allow-list'; | ||||
|     push @EXPORT, qw(CFGDEF_ALLOW_LIST); | ||||
| use constant CFGDEF_ALLOW_RANGE                                     => 'allow-range'; | ||||
| @@ -435,8 +447,12 @@ use constant CFGDEF_INDEX                                           => 'index'; | ||||
|     push @EXPORT, qw(CFGDEF_INDEX); | ||||
| use constant CFGDEF_INDEX_TOTAL                                     => 'indexTotal'; | ||||
|     push @EXPORT, qw(CFGDEF_INDEX_TOTAL); | ||||
| use constant CFGDEF_INHERIT                                         => 'inherit'; | ||||
|     push @EXPORT, qw(CFGDEF_INHERIT); | ||||
| use constant CFGDEF_INTERNAL                                        => 'internal'; | ||||
|     push @EXPORT, qw(CFGDEF_INTERNAL); | ||||
| use constant CFGDEF_NAME_ALT                                        => 'name-alt'; | ||||
|     push @EXPORT, qw(CFGDEF_NAME_ALT); | ||||
| use constant CFGDEF_NEGATE                                          => 'negate'; | ||||
|     push @EXPORT, qw(CFGDEF_NEGATE); | ||||
| use constant CFGDEF_PREFIX                                          => 'prefix'; | ||||
| @@ -1142,10 +1158,14 @@ my %hConfigDefine = | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     # Repository options | ||||
|     #------------------------------------------------------------------------------------------------------------------------------- | ||||
|     &CFGOPT_REPO_CIPHER_PASS => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_SECURE => true, | ||||
|         &CFGDEF_REQUIRED  => false, | ||||
|         &CFGDEF_DEPEND => | ||||
| @@ -1153,6 +1173,10 @@ my %hConfigDefine = | ||||
|             &CFGDEF_DEPEND_OPTION  => CFGOPT_REPO_CIPHER_TYPE, | ||||
|             &CFGDEF_DEPEND_LIST => [CFGOPTVAL_REPO_CIPHER_TYPE_AES_256_CBC], | ||||
|         }, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-cipher-pass' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_TYPE, | ||||
|     }, | ||||
|  | ||||
| @@ -1160,20 +1184,156 @@ my %hConfigDefine = | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_DEFAULT => CFGOPTVAL_REPO_CIPHER_TYPE_NONE, | ||||
|         &CFGDEF_ALLOW_LIST => | ||||
|         [ | ||||
|             &CFGOPTVAL_REPO_CIPHER_TYPE_NONE, | ||||
|             &CFGOPTVAL_REPO_CIPHER_TYPE_AES_256_CBC, | ||||
|         ], | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-cipher-type' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_TYPE, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_HARDLINK => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'hardlink' => {}, | ||||
|         }, | ||||
|         &CFGDEF_DEFAULT => false, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_HOST => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'backup-host' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_ARCHIVE_GET => {}, | ||||
|             &CFGCMD_ARCHIVE_PUSH => {}, | ||||
|             &CFGCMD_BACKUP => | ||||
|             { | ||||
|                 &CFGDEF_INTERNAL => true, | ||||
|             }, | ||||
|             &CFGCMD_CHECK => {}, | ||||
|             &CFGCMD_INFO => {}, | ||||
|             &CFGCMD_LOCAL => {}, | ||||
|             &CFGCMD_RESTORE => {}, | ||||
|             &CFGCMD_STANZA_CREATE => {}, | ||||
|             &CFGCMD_STANZA_DELETE => | ||||
|             { | ||||
|                 &CFGDEF_INTERNAL => true, | ||||
|             }, | ||||
|             &CFGCMD_STANZA_UPGRADE => {}, | ||||
|             &CFGCMD_START => {}, | ||||
|             &CFGCMD_STOP => {}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_HOST_CMD => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'backup-cmd' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_REPO_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_HOST_CONFIG => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_DEFAULT => CFGDEF_DEFAULT_CONFIG, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'backup-config' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_REPO_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_HOST_PORT => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_INTEGER, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'backup-ssh-port' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_REPO_HOST | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_HOST_USER => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_DEFAULT => 'pgbackrest', | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'backup-user' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_HOST, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_REPO_HOST | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_PATH => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_DEFAULT => '/var/lib/' . BACKREST_EXE, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-path' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_ARCHIVE_GET => {}, | ||||
| @@ -1196,22 +1356,45 @@ my %hConfigDefine = | ||||
|     &CFGOPT_REPO_S3_BUCKET => | ||||
|     { | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_REPO_TYPE, | ||||
|             &CFGDEF_DEPEND_LIST => [CFGOPTVAL_REPO_TYPE_S3], | ||||
|         }, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-bucket' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_TYPE, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_CA_FILE => &CFGOPT_REPO_S3_HOST, | ||||
|     &CFGOPT_REPO_S3_CA_PATH => &CFGOPT_REPO_S3_HOST, | ||||
|     &CFGOPT_REPO_S3_CA_FILE => | ||||
|     { | ||||
|         &CFGDEF_INHERIT => CFGOPT_REPO_S3_HOST, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-ca-file' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_CA_PATH => | ||||
|     { | ||||
|         &CFGDEF_INHERIT => CFGOPT_REPO_S3_HOST, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-ca-path' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_KEY => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_SECURE => true, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_DEPEND => | ||||
| @@ -1219,29 +1402,66 @@ my %hConfigDefine = | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_REPO_TYPE, | ||||
|             &CFGDEF_DEPEND_LIST => [CFGOPTVAL_REPO_TYPE_S3], | ||||
|         }, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-key' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_TYPE, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_KEY_SECRET => CFGOPT_REPO_S3_KEY, | ||||
|     &CFGOPT_REPO_S3_KEY_SECRET => | ||||
|     { | ||||
|         &CFGDEF_INHERIT => CFGOPT_REPO_S3_KEY, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-key-secret' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_ENDPOINT => CFGOPT_REPO_S3_BUCKET, | ||||
|     &CFGOPT_REPO_S3_ENDPOINT => | ||||
|     { | ||||
|         &CFGDEF_INHERIT => CFGOPT_REPO_S3_BUCKET, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-endpoint' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_HOST => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_REQUIRED  => false, | ||||
|         &CFGDEF_DEPEND => CFGOPT_REPO_S3_BUCKET, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-host' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_TYPE, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_REGION => CFGOPT_REPO_S3_BUCKET, | ||||
|     &CFGOPT_REPO_S3_REGION, | ||||
|     { | ||||
|         &CFGDEF_INHERIT => CFGOPT_REPO_S3_BUCKET, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-region' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_REPO_S3_VERIFY_SSL => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_DEFAULT => true, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-s3-verify-ssl' => {&CFGDEF_INDEX => 1}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => CFGOPT_REPO_TYPE, | ||||
|         &CFGDEF_DEPEND => CFGOPT_REPO_S3_BUCKET, | ||||
|     }, | ||||
| @@ -1250,6 +1470,8 @@ my %hConfigDefine = | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_REPO, | ||||
|         &CFGDEF_INDEX_TOTAL => CFGDEF_INDEX_REPO, | ||||
|         &CFGDEF_DEFAULT => CFGOPTVAL_REPO_TYPE_POSIX, | ||||
|         &CFGDEF_ALLOW_LIST => | ||||
|         [ | ||||
| @@ -1257,6 +1479,10 @@ my %hConfigDefine = | ||||
|             &CFGOPTVAL_REPO_TYPE_POSIX, | ||||
|             &CFGOPTVAL_REPO_TYPE_S3, | ||||
|         ], | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'repo-type' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_ARCHIVE_GET => {}, | ||||
| @@ -1294,7 +1520,6 @@ my %hConfigDefine = | ||||
|  | ||||
|     &CFGOPT_PROCESS_MAX => | ||||
|     { | ||||
|         &CFGDEF_ALT_NAME => 'thread-max', | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_INTEGER, | ||||
|         &CFGDEF_DEFAULT => 1, | ||||
| @@ -1441,70 +1666,6 @@ my %hConfigDefine = | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_BACKUP_CMD => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_COMMAND => CFGOPT_BACKUP_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_BACKUP_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_BACKUP_CONFIG => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_DEFAULT => CFGDEF_DEFAULT_CONFIG, | ||||
|         &CFGDEF_COMMAND => CFGOPT_BACKUP_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_BACKUP_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_BACKUP_HOST => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_ARCHIVE_GET => {}, | ||||
|             &CFGCMD_ARCHIVE_PUSH => {}, | ||||
|             &CFGCMD_BACKUP => | ||||
|             { | ||||
|                 &CFGDEF_INTERNAL => true, | ||||
|             }, | ||||
|             &CFGCMD_CHECK => {}, | ||||
|             &CFGCMD_INFO => {}, | ||||
|             &CFGCMD_LOCAL => {}, | ||||
|             &CFGCMD_RESTORE => {}, | ||||
|             &CFGCMD_STANZA_CREATE => {}, | ||||
|             &CFGCMD_STANZA_DELETE => | ||||
|             { | ||||
|                 &CFGDEF_INTERNAL => true, | ||||
|             }, | ||||
|             &CFGCMD_STANZA_UPGRADE => {}, | ||||
|             &CFGCMD_START => {}, | ||||
|             &CFGCMD_STOP => {}, | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_BACKUP_SSH_PORT => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_INTEGER, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_COMMAND => CFGOPT_BACKUP_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_BACKUP_HOST | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_BACKUP_STANDBY => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
| @@ -1519,19 +1680,6 @@ my %hConfigDefine = | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_BACKUP_USER => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_DEFAULT => 'backrest', | ||||
|         &CFGDEF_COMMAND => CFGOPT_BACKUP_HOST, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_BACKUP_HOST | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_CHECKSUM_PAGE => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
| @@ -1543,17 +1691,6 @@ my %hConfigDefine = | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_HARDLINK => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_BOOLEAN, | ||||
|         &CFGDEF_DEFAULT => false, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_MANIFEST_SAVE_THRESHOLD => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
| @@ -1738,12 +1875,17 @@ my %hConfigDefine = | ||||
|  | ||||
|     # Stanza options | ||||
|     #------------------------------------------------------------------------------------------------------------------------------- | ||||
|     &CFGOPT_DB_CMD => | ||||
|     &CFGOPT_PG_HOST_CMD => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-cmd' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-cmd' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
| @@ -1758,16 +1900,21 @@ my %hConfigDefine = | ||||
|         }, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_DB_HOST | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_PG_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_CONFIG => | ||||
|     &CFGOPT_PG_HOST_CONFIG => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_GLOBAL, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_DEFAULT => CFGDEF_DEFAULT_CONFIG, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-config' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-config' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
| @@ -1782,16 +1929,21 @@ my %hConfigDefine = | ||||
|         }, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_DB_HOST | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_PG_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_HOST => | ||||
|     &CFGOPT_PG_HOST => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-host' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-host' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_ARCHIVE_PUSH => {}, | ||||
| @@ -1808,15 +1960,20 @@ my %hConfigDefine = | ||||
|             &CFGCMD_STANZA_UPGRADE => {}, | ||||
|             &CFGCMD_START => {}, | ||||
|             &CFGCMD_STOP => {}, | ||||
|         } | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_PATH => | ||||
|     &CFGOPT_PG_PATH => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_REQUIRED => true, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-path' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-path' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_ARCHIVE_GET => | ||||
| @@ -1844,12 +2001,17 @@ my %hConfigDefine = | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_PORT => | ||||
|     &CFGOPT_PG_PORT => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_INTEGER, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_DEFAULT => 5432, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-port' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-port' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
| @@ -1858,28 +2020,38 @@ my %hConfigDefine = | ||||
|             &CFGCMD_STANZA_CREATE => {}, | ||||
|             &CFGCMD_STANZA_DELETE => {}, | ||||
|             &CFGCMD_STANZA_UPGRADE => {}, | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_SSH_PORT => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_INTEGER, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_COMMAND => CFGOPT_DB_HOST, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_DB_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_SOCKET_PATH => | ||||
|     &CFGOPT_PG_HOST_PORT => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_INTEGER, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_COMMAND => CFGOPT_PG_HOST, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-ssh-port' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-ssh-port' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_PG_HOST | ||||
|         }, | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_PG_SOCKET_PATH => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-socket-path' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-socket-path' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
| @@ -1892,12 +2064,17 @@ my %hConfigDefine = | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     &CFGOPT_DB_USER => | ||||
|     &CFGOPT_PG_HOST_USER => | ||||
|     { | ||||
|         &CFGDEF_SECTION => CFGDEF_SECTION_STANZA, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_DB, | ||||
|         &CFGDEF_PREFIX => CFGDEF_PREFIX_PG, | ||||
|         &CFGDEF_TYPE => CFGDEF_TYPE_STRING, | ||||
|         &CFGDEF_DEFAULT => 'postgres', | ||||
|         &CFGDEF_NAME_ALT => | ||||
|         { | ||||
|             'db-user' => {&CFGDEF_INDEX => 1, &CFGDEF_NEGATE => false}, | ||||
|             'db?-user' => {&CFGDEF_NEGATE => false}, | ||||
|         }, | ||||
|         &CFGDEF_COMMAND => | ||||
|         { | ||||
|             &CFGCMD_BACKUP => {}, | ||||
| @@ -1910,7 +2087,7 @@ my %hConfigDefine = | ||||
|         &CFGDEF_REQUIRED => false, | ||||
|         &CFGDEF_DEPEND => | ||||
|         { | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_DB_HOST | ||||
|             &CFGDEF_DEPEND_OPTION => CFGOPT_PG_HOST | ||||
|         }, | ||||
|     }, | ||||
| ); | ||||
| @@ -1921,9 +2098,19 @@ my %hConfigDefine = | ||||
| foreach my $strKey (sort(keys(%hConfigDefine))) | ||||
| { | ||||
|     # If the define is a scalar then copy the entire define from the referenced option | ||||
|     if (!ref($hConfigDefine{$strKey})) | ||||
|     if (defined($hConfigDefine{$strKey}{&CFGDEF_INHERIT})) | ||||
|     { | ||||
|         $hConfigDefine{$strKey} = dclone($hConfigDefine{$hConfigDefine{$strKey}}); | ||||
|         # Make a copy in case there are overrides that need to be applied after inheriting | ||||
|         my $hConfigDefineOverride = dclone($hConfigDefine{$strKey}); | ||||
|  | ||||
|         # Copy the option being inherited from | ||||
|         $hConfigDefine{$strKey} = dclone($hConfigDefine{$hConfigDefine{$strKey}{&CFGDEF_INHERIT}}); | ||||
|  | ||||
|         # Apply overrides | ||||
|         foreach my $strOptionDef (sort(keys(%{$hConfigDefineOverride}))) | ||||
|         { | ||||
|             $hConfigDefine{$strKey}{$strOptionDef} = $hConfigDefineOverride->{$strOptionDef}; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     # If the command section is a scalar then copy the section from the referenced option | ||||
| @@ -1965,11 +2152,11 @@ foreach my $strKey (sort(keys(%hConfigDefine))) | ||||
|         $hConfigDefine{$strKey}{&CFGDEF_INTERNAL} = false; | ||||
|     } | ||||
|  | ||||
|     # Set index total for db-* | ||||
|     # Set index total for pg-* | ||||
|     if (defined($hConfigDefine{$strKey}{&CFGDEF_PREFIX}) && | ||||
|         $hConfigDefine{$strKey}{&CFGDEF_PREFIX} eq CFGDEF_PREFIX_DB) | ||||
|         $hConfigDefine{$strKey}{&CFGDEF_PREFIX} eq CFGDEF_PREFIX_PG) | ||||
|     { | ||||
|         $hConfigDefine{$strKey}{&CFGDEF_INDEX_TOTAL} = CFGDEF_INDEX_DB; | ||||
|         $hConfigDefine{$strKey}{&CFGDEF_INDEX_TOTAL} = CFGDEF_INDEX_PG; | ||||
|     } | ||||
|     # Else default index total is 1 | ||||
|     else | ||||
|   | ||||
| @@ -27,6 +27,8 @@ use constant CONFIG_HELP_DESCRIPTION                                => 'descript | ||||
|     push @EXPORT, qw(CONFIG_HELP_DESCRIPTION); | ||||
| use constant CONFIG_HELP_EXAMPLE                                    => 'example'; | ||||
| use constant CONFIG_HELP_NAME                                       => 'name'; | ||||
| use constant CONFIG_HELP_NAME_ALT                                   => 'name-alt'; | ||||
|     push @EXPORT, qw(CONFIG_HELP_NAME_ALT); | ||||
| use constant CONFIG_HELP_OPTION                                     => 'option'; | ||||
|     push @EXPORT, qw(CONFIG_HELP_OPTION); | ||||
| use constant CONFIG_HELP_SECTION                                    => 'section'; | ||||
| @@ -316,6 +318,29 @@ sub process | ||||
|  | ||||
|             $$oCommandOption{&CONFIG_HELP_NAME} = $oOptionDoc->paramGet('name'); | ||||
|  | ||||
|             # Generate a list of alternate names | ||||
|             if (defined($rhConfigDefine->{$strOption}{&CFGDEF_NAME_ALT})) | ||||
|             { | ||||
|                 my $rhNameAlt = {}; | ||||
|  | ||||
|                 foreach my $strNameAlt (sort(keys(%{$rhConfigDefine->{$strOption}{&CFGDEF_NAME_ALT}}))) | ||||
|                 { | ||||
|                     $strNameAlt =~ s/\?//g; | ||||
|  | ||||
|                     if ($strNameAlt ne $strOption) | ||||
|                     { | ||||
|                         $rhNameAlt->{$strNameAlt} = true; | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 my @stryNameAlt = sort(keys(%{$rhNameAlt})); | ||||
|  | ||||
|                 if (@stryNameAlt > 0) | ||||
|                 { | ||||
|                     $oCommandOption->{&CONFIG_HELP_NAME_ALT} = \@stryNameAlt; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             # If the option did not come from the command also store in global option list.  This prevents duplication of commonly | ||||
|             # used options. | ||||
|             if ($strOptionSource ne CONFIG_HELP_SOURCE_COMMAND) | ||||
| @@ -330,6 +355,7 @@ sub process | ||||
|                 } | ||||
|  | ||||
|                 $$oOption{&CONFIG_HELP_NAME} = $oOptionDoc->paramGet('name'); | ||||
|                 $oOption->{&CONFIG_HELP_NAME_ALT} = $oCommandOption->{&CONFIG_HELP_NAME_ALT}; | ||||
|                 $$oOption{&CONFIG_HELP_DESCRIPTION} = $$oCommandOption{&CONFIG_HELP_DESCRIPTION}; | ||||
|                 $$oOption{&CONFIG_HELP_EXAMPLE} = $oOptionDoc->fieldGet('example'); | ||||
|             } | ||||
| @@ -468,7 +494,7 @@ sub manGet | ||||
|  | ||||
|             if (defined($strDefault)) | ||||
|             { | ||||
|                 if ($strOption eq CFGOPT_BACKUP_CMD || $strOption eq CFGOPT_DB_CMD) | ||||
|                 if ($strOption eq CFGOPT_REPO_HOST_CMD || $strOption eq CFGOPT_PG_HOST_CMD) | ||||
|                 { | ||||
|                     $strDefault = BACKREST_EXE; | ||||
|                 } | ||||
| @@ -779,7 +805,7 @@ sub helpOptionGet | ||||
|     { | ||||
|         my $strDefault; | ||||
|  | ||||
|         if ($strOption eq CFGOPT_BACKUP_CMD || $strOption eq CFGOPT_DB_CMD) | ||||
|         if ($strOption eq CFGOPT_REPO_HOST_CMD || $strOption eq CFGOPT_PG_HOST_CMD) | ||||
|         { | ||||
|             $strDefault = '[INSTALL-PATH]/' . BACKREST_EXE; | ||||
|         } | ||||
| @@ -840,6 +866,15 @@ sub helpOptionGet | ||||
|  | ||||
|     $oOptionElement-> | ||||
|         nodeAdd('code-block')->valueSet($strCodeBlock); | ||||
|  | ||||
|     # Output deprecated names | ||||
|     if (defined($oOptionHash->{&CONFIG_HELP_NAME_ALT})) | ||||
|     { | ||||
|         my $strCaption = 'Deprecated Name' . (@{$oOptionHash->{&CONFIG_HELP_NAME_ALT}} > 1 ? 's' : ''); | ||||
|  | ||||
|         $oOptionElement-> | ||||
|             nodeAdd('p')->textSet("${strCaption}: " . join(', ', @{$oOptionHash->{&CONFIG_HELP_NAME_ALT}})); | ||||
|     } | ||||
| } | ||||
|  | ||||
| 1; | ||||
|   | ||||
| @@ -41,25 +41,21 @@ foreach my $strKey (sort(keys(%{$rhConfigDefineIndex}))) | ||||
| { | ||||
|     # Build options for all possible db configurations | ||||
|     if (defined($rhConfigDefineIndex->{$strKey}{&CFGDEF_PREFIX}) && | ||||
|         $rhConfigDefineIndex->{$strKey}{&CFGDEF_PREFIX} eq CFGDEF_PREFIX_DB) | ||||
|         $rhConfigDefineIndex->{$strKey}{&CFGDEF_PREFIX} eq CFGDEF_PREFIX_PG) | ||||
|     { | ||||
|         my $strPrefix = $rhConfigDefineIndex->{$strKey}{&CFGDEF_PREFIX}; | ||||
|  | ||||
|         for (my $iIndex = 1; $iIndex <= CFGDEF_INDEX_DB; $iIndex++) | ||||
|         for (my $iIndex = 1; $iIndex <= CFGDEF_INDEX_PG; $iIndex++) | ||||
|         { | ||||
|             my $strKeyNew = "${strPrefix}${iIndex}" . substr($strKey, length($strPrefix)); | ||||
|  | ||||
|             $rhConfigDefineIndex->{$strKeyNew} = dclone($rhConfigDefineIndex->{$strKey}); | ||||
|  | ||||
|             $rhConfigDefineIndex->{$strKeyNew}{&CFGDEF_INDEX_TOTAL} = CFGDEF_INDEX_DB; | ||||
|             $rhConfigDefineIndex->{$strKeyNew}{&CFGDEF_INDEX_TOTAL} = CFGDEF_INDEX_PG; | ||||
|             $rhConfigDefineIndex->{$strKeyNew}{&CFGDEF_INDEX} = $iIndex - 1; | ||||
|  | ||||
|             # Create the alternate name for option index 1 | ||||
|             if ($iIndex == 1) | ||||
|             { | ||||
|                 $rhConfigDefineIndex->{$strKeyNew}{&CFGDEF_ALT_NAME} = $strKey; | ||||
|             } | ||||
|             else | ||||
|             # Options indexed > 1 are never required | ||||
|             if ($iIndex != 1) | ||||
|             { | ||||
|                 $rhConfigDefineIndex->{$strKeyNew}{&CFGDEF_REQUIRED} = false; | ||||
|             } | ||||
|   | ||||
| @@ -214,57 +214,68 @@ | ||||
|  | ||||
|             <!-- CONFIG - REPO --> | ||||
|             <config-section id="repository" name="Repository"> | ||||
|                 <text>The <setting>repository</setting> section defines options used to configure the repository.</text> | ||||
|                 <text>The <setting>repository</setting> section defines options used to configure the repository. | ||||
|  | ||||
|                 <b>Indexing</b>: All <setting>repo-</setting> options are indexed to allow for configuring multiple repositories, though only a single repository is currently supported. For example, the repository is configured with the <setting>repo1-path</setting>, <setting>repo1-host</setting>, etc. options.</text> | ||||
|  | ||||
|                 <config-key-list> | ||||
|                     <!-- CONFIG - REPO SECTION - BACKUP-CMD KEY --> | ||||
|                     <config-key id="backup-cmd" name="Backup Host Command"> | ||||
|                         <summary><backrest/> exe path on the backup host.</summary> | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-HOST KEY --> | ||||
|                     <config-key id="repo-host" name="Repository Host"> | ||||
|                         <summary>Repository host when operating remotely via SSH.</summary> | ||||
|  | ||||
|                         <text>Required only if the path to <exe/> is different on the local and backup hosts.  If not defined, the backup host exe path will be set the same as the local exe path.</text> | ||||
|                         <text>Make sure that trusted SSH authentication is configured between the <postgres/> host and the repository host. | ||||
|  | ||||
|                         When backing up and archiving to a locally mounted filesystem this setting is not required.</text> | ||||
|  | ||||
|                         <example>repo1.domain.com</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-HOST-CMD KEY --> | ||||
|                     <config-key id="repo-host-cmd" name="Repository Host Command"> | ||||
|                         <summary><backrest/> exe path on the repository host.</summary> | ||||
|  | ||||
|                         <text>Required only if the path to <exe/> is different on the local and repository hosts.  If not defined, the repository host exe path will be set the same as the local exe path.</text> | ||||
|  | ||||
|                         <default>same as local</default> | ||||
|                         <example>/usr/lib/backrest/bin/pgbackrest</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - BACKUP-CONFIG KEY --> | ||||
|                     <config-key id="backup-config" name="Backup Host Configuration"> | ||||
|                         <summary><backrest/> backup host configuration file.</summary> | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-HOST-CONFIG KEY --> | ||||
|                     <config-key id="repo-host-config" name="Repository Host Configuration"> | ||||
|                         <summary><backrest/> repository host configuration file.</summary> | ||||
|  | ||||
|                         <text>Sets the location of the configuration file on the backup host.  This is only required if the backup host configuration file is in a different location than the local configuration file.</text> | ||||
|                         <text>Sets the location of the configuration file on the repository host.  This is only required if the repository host configuration file is in a different location than the local configuration file.</text> | ||||
|  | ||||
|                         <example>/etc/pgbackrest_backup.conf</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - BACKUP-HOST KEY --> | ||||
|                     <config-key id="backup-host" name="Backup Host"> | ||||
|                         <summary>Backup host when operating remotely via SSH.</summary> | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-HOST-USER KEY --> | ||||
|                     <config-key id="repo-host-user" name="Repository Host User"> | ||||
|                         <summary>Repository host user when <setting>repo-host</setting> is set.</summary> | ||||
|  | ||||
|                         <text>Make sure that trusted SSH authentication is configured between the db host and the backup host. | ||||
|                         <text>Defines the user that will be used for operations on the repository host.  Preferably this is not the <id>postgres</id> user but rather some other user like <id>pgbackrest</id>.  If <postgres/> runs on the repository host the <id>postgres</id> user can be placed in the <id>pgbackrest</id> group so it has read permissions on the repository without being able to damage the contents accidentally.</text> | ||||
|  | ||||
|                         When backing up to a locally mounted network filesystem this setting is not required.</text> | ||||
|  | ||||
|                         <example>backup.domain.com</example> | ||||
|                         <example>backup-user</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - BACKUP-USER KEY --> | ||||
|                     <config-key id="backup-user" name="Backup User"> | ||||
|                         <summary>Backup host user when <setting>backup-host</setting> is set.</summary> | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-HOST-PORT KEY --> | ||||
|                     <config-key id="repo-host-port" name="Repository Host Port"> | ||||
|                         <summary>Repository host port when <setting>repo-host</setting> is set.</summary> | ||||
|  | ||||
|                         <text>Defines the user that will be used for operations on the backup server.  Preferably this is not the <id>postgres</id> user but rather some other user like <id>backrest</id>.  If <postgres/> runs on the backup server the <id>postgres</id> user can be placed in the <id>backrest</id> group so it has read permissions on the repository without being able to damage the contents accidentally.</text> | ||||
|  | ||||
|                         <example>backrest</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - BACKUP-SSH-PORT KEY --> | ||||
|                     <config-key id="backup-ssh-port" name="Backup SSH Port"> | ||||
|                         <summary>Backup server SSH port when <setting>backup-host</setting> is set.</summary> | ||||
|  | ||||
|                         <text>Use this option to specify a non-default SSH port for the backup server.</text> | ||||
|                         <text>Use this option to specify a non-default port for the repository host protocol.  Currently only SSH is supported</text> | ||||
|  | ||||
|                         <example>25</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-HARDLINK --> | ||||
|                     <config-key id="repo-hardlink" name="Repository Hardlink"> | ||||
|                         <summary>Hardlink files between backups in the repository.</summary> | ||||
|  | ||||
|                         <text>Enable hard-linking of files in differential and incremental backups to their full backups.  This gives the appearance that each backup is a full backup at the file-system level.  Be careful, though, because modifying files that are hard-linked can affect all the backups in the set.</text> | ||||
|  | ||||
|                         <example>y</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-PATH KEY --> | ||||
|                     <config-key id="repo-path" name="Repository Path"> | ||||
|                         <summary>Path where backups and archive are stored.</summary> | ||||
| @@ -302,7 +313,7 @@ | ||||
|  | ||||
|                         <backrest/> repositories can be stored in the bucket root by setting <br-option>repo-path=/</br-option> but it is usually best to specify a prefix, such as <path>/repo</path>, so logs and other AWS generated content can also be stored in the bucket.</text> | ||||
|  | ||||
|                         <example>db-backup</example> | ||||
|                         <example>pg-backup</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - REPO SECTION - REPO-S3-CA-FILE KEY --> | ||||
| @@ -447,15 +458,6 @@ | ||||
|                         <example>n</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - BACKUP SECTION - HARDLINK --> | ||||
|                     <config-key id="hardlink" name="Hardlink"> | ||||
|                         <summary>Hardlink files between backups.</summary> | ||||
|  | ||||
|                         <text>Enable hard-linking of files in differential and incremental backups to their full backups.  This gives the appearance that each backup is a full backup.  Be careful, though, because modifying files that are hard-linked can affect all the backups in the set.</text> | ||||
|  | ||||
|                         <example>y</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - BACKUP SECTION - MANIFEST-SAVE-THRESHOLD --> | ||||
|                     <config-key id="manifest-save-threshold" name="Manifest Save Threshold"> | ||||
|                         <summary>Manifest save threshold during backup.</summary> | ||||
| @@ -667,80 +669,80 @@ | ||||
|             <config-section id="stanza" name="Stanza"> | ||||
|                 <text>A stanza defines the backup configuration for a specific <postgres/> database cluster.  The stanza section must define the database cluster path and host/user if the database cluster is remote.  Also, any global configuration sections can be overridden to define stanza-specific settings. | ||||
|  | ||||
|                 <b>Indexing</b>: All <setting>db-</setting> options can be indexed for configuring standby replicas. For example if a single standby replica is configured then index the <setting>db-</setting> options as <setting>db2-</setting> (e.g. db2-host, db2-path, etc). If an index is not specified (e.g. db-host) it will be aliased to <setting>db1-</setting> (e.g. db1-host).</text> | ||||
|                 <b>Indexing</b>: All <setting>pg-</setting> options are indexed to allow for configuring multiple <postgres/> hosts. For example, a single master is configured with the <setting>pg1-path</setting>, <setting>pg1-host</setting>, etc. options.  If a standby is configured then index the <setting>pg-</setting> options as <setting>pg2-</setting> (e.g. pg2-host, pg2-path, etc).</text> | ||||
|  | ||||
|                 <config-key-list> | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-CMD KEY --> | ||||
|                     <config-key id="db-cmd" name="Database Host Command"> | ||||
|                         <summary><backrest/> exe path on the database host.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-HOST-CMD KEY --> | ||||
|                     <config-key id="pg-host-cmd" name="PostgreSQL Host Command"> | ||||
|                         <summary><backrest/> exe path on the <postgres/> host.</summary> | ||||
|  | ||||
|                         <text>Required only if the path to <exe/> is different on the local and database hosts.  If not defined, the database host exe path will be set the same as the local exe path.</text> | ||||
|                         <text>Required only if the path to <exe/> is different on the local and <postgres/> hosts.  If not defined, the database host exe path will be set the same as the local exe path.</text> | ||||
|  | ||||
|                         <default>same as local</default> | ||||
|                         <example>/usr/lib/backrest/bin/pgbackrest</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB_CONFIG KEY --> | ||||
|                     <config-key id="db-config" name="Database Host Configuration"> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-HOST-CONFIG KEY --> | ||||
|                     <config-key id="pg-host-config" name="PostgreSQL Host Configuration"> | ||||
|                         <summary><backrest/> database host configuration file.</summary> | ||||
|  | ||||
|                         <text>Sets the location of the configuration file on the database host.  This is only required if the database host configuration file is in a different location than the local configuration file.</text> | ||||
|                         <text>Sets the location of the configuration file on the <postgres/> host.  This is only required if the <postgres/> host configuration file is in a different location than the local configuration file.</text> | ||||
|  | ||||
|                         <example>/etc/pgbackrest_db.conf</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-HOST KEY --> | ||||
|                     <config-key id="db-host" name="Database Host"> | ||||
|                         <summary>Cluster host for operating remotely via SSH.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-HOST KEY --> | ||||
|                     <config-key id="pg-host" name="PostgreSQL Host"> | ||||
|                         <summary><postgres/> host for operating remotely via SSH.</summary> | ||||
|  | ||||
|                         <text>Used for backups where the database cluster host is different from the backup host.</text> | ||||
|                         <text>Used for backups where the <postgres/> host is different from the backup host.</text> | ||||
|  | ||||
|                         <example>db.domain.com</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-USER KEY --> | ||||
|                     <config-key id="db-user" name="Database User"> | ||||
|                         <summary>Cluster host logon user when <setting>db-host</setting> is set.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-HOST-USER KEY --> | ||||
|                     <config-key id="pg-host-user" name="PostgreSQL Host User"> | ||||
|                         <summary><postgres/> host logon user when <setting>pg-host</setting> is set.</summary> | ||||
|  | ||||
|                         <text>This user will also own the remote <backrest/> process and will initiate connections to <postgres/>.  For this to work correctly the user should be the <postgres/> database cluster owner which is generally <id>postgres</id>, the default.</text> | ||||
|  | ||||
|                         <example>db_owner</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-PATH KEY --> | ||||
|                     <config-key id="db-path" name="Database Path"> | ||||
|                         <summary>Cluster data directory.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-PATH KEY --> | ||||
|                     <config-key id="pg-path" name="PostgreSQL Path"> | ||||
|                         <summary><postgres/> data directory.</summary> | ||||
|  | ||||
|                         <text>This should be the same as the <setting>data_directory</setting> setting in <file>postgresql.conf</file>.  Even though this value can be read from <file>postgresql.conf</file> or the database cluster it is prudent to set it in case those resources are not available during a restore or offline backup scenario. | ||||
|                         <text>This should be the same as the <setting>data_directory</setting> setting in <file>postgresql.conf</file>.  Even though this value can be read from <file>postgresql.conf</file> or <postgres/> it is prudent to set it in case those resources are not available during a restore or offline backup scenario. | ||||
|  | ||||
|                         The <setting>db-path</setting> option is tested against the value reported by <postgres/> on every online backup so it should always be current.</text> | ||||
|                         The <setting>pg-path</setting> option is tested against the value reported by <postgres/> on every online backup so it should always be current.</text> | ||||
|  | ||||
|                         <example>/data/db</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-PORT KEY --> | ||||
|                     <config-key id="db-port" name="Database Port"> | ||||
|                         <summary>Cluster port.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-PORT KEY --> | ||||
|                     <config-key id="pg-port" name="PostgreSQL Port"> | ||||
|                         <summary><postgres/> port.</summary> | ||||
|  | ||||
|                         <text>Port that <postgres/> is running on.  This usually does not need to be specified as most database clusters run on the default port.</text> | ||||
|                         <text>Port that <postgres/> is running on.  This usually does not need to be specified as most <postgres/> clusters run on the default port.</text> | ||||
|  | ||||
|                         <example>6543</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-SOCKET-PATH KEY --> | ||||
|                     <config-key id="db-socket-path" name="Database Socket Path"> | ||||
|                         <summary>Cluster unix socket path.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-SOCKET-PATH KEY --> | ||||
|                     <config-key id="pg-socket-path" name="PostgreSQL Socket Path"> | ||||
|                         <summary><postgres/> unix socket path.</summary> | ||||
|  | ||||
|                         <text>The unix socket directory that was specified when <postgres/> was started.  <backrest/> will automatically look in the standard location for your OS so there usually no need to specify this setting unless the socket directory was explicitly modified with the <setting>unix_socket_directory</setting> setting in <file>postgressql.conf</file>.</text> | ||||
|                         <text>The unix socket directory that was specified when <postgres/> was started.  <backrest/> will automatically look in the standard location for your OS so there is usually no need to specify this setting unless the socket directory was explicitly modified with the <setting>unix_socket_directory</setting> setting in <file>postgresql.conf</file>.</text> | ||||
|  | ||||
|                         <example>/var/run/postgresql</example> | ||||
|                     </config-key> | ||||
|  | ||||
|                     <!-- CONFIG - STANZA SECTION - DB-SSH-PORT KEY --> | ||||
|                     <config-key id="db-ssh-port" name="Database SSH Port"> | ||||
|                         <summary>Database server SSH port when <setting>db-host</setting> is set.</summary> | ||||
|                     <!-- CONFIG - STANZA SECTION - PG-HOST-PORT KEY --> | ||||
|                     <config-key id="pg-host-port" name="PostgreSQL Host Port"> | ||||
|                         <summary><postgres/> host port when <setting>pg-host</setting> is set.</summary> | ||||
|  | ||||
|                         <text>Use this option to specify a non-default SSH port for a database server.</text> | ||||
|                         <text>Use this option to specify a non-default port for the <postgres/> host protocol.  Currently only SSH is supported</text> | ||||
|  | ||||
|                         <example>25</example> | ||||
|                     </config-key> | ||||
| @@ -755,7 +757,7 @@ | ||||
|  | ||||
|         <text>Commands are used to execute the various <backrest/> functions.  Here the command options are listed exhaustively, that is, each option applicable to a command is listed with that command even if it applies to one or more other commands.  This includes all the options that may also configured in <file>pgbackrest.conf</file>. | ||||
|  | ||||
|         Non-boolean options configured in <file>pgbackrest.conf</file> can be reset to default on the command-line by using the <id>no-</id> prefix.  This feature may be used to restore a backup directly on a backup host.  Normally, <backrest/> will error because it can see that the database host is remote and restores cannot be done remotely.  By adding <br-option>--no-db1-host</br-option> on the command-line, <backrest/> will ignore the remote database host and restore locally.  It may be necessary to pass a new <br-option>--db-path</br-option> to force the restore to happen in a specific path, i.e. not the path used on the database host. | ||||
|         Non-boolean options configured in <file>pgbackrest.conf</file> can be reset to default on the command-line by using the <id>no-</id> prefix.  This feature may be used to restore a backup directly on a backup host.  Normally, <backrest/> will error because it can see that the database host is remote and restores cannot be done remotely.  By adding <br-option>--no-pg1-host</br-option> on the command-line, <backrest/> will ignore the remote database host and restore locally.  It may be necessary to pass a new <br-option>--pg-path</br-option> to force the restore to happen in a specific path, i.e. not the path used on the database host. | ||||
|  | ||||
|         If the <id>no-</id> prefix is used with a boolean option then the option is set to false.</text> | ||||
|  | ||||
| @@ -1190,7 +1192,7 @@ | ||||
|             <command id="stanza-upgrade" name="Stanza Upgrade"> | ||||
|                 <summary>Upgrade a stanza.</summary> | ||||
|  | ||||
|                 <text>Immediately after upgrading <postgres/> to a newer major version, the <br-option>db-path</br-option> for all <backrest/> configurations must be set to the new database location and the <cmd>stanza-upgrade</cmd> run on the backup host. If the database is offline use the <br-option>--no-online</br-option> option.</text> | ||||
|                 <text>Immediately after upgrading <postgres/> to a newer major version, the <br-option>pg-path</br-option> for all <backrest/> configurations must be set to the new database location and the <cmd>stanza-upgrade</cmd> run on the backup host. If the database is offline use the <br-option>--no-online</br-option> option.</text> | ||||
|  | ||||
|                 <option-list> | ||||
|                     <!-- ======================================================================================================= --> | ||||
|   | ||||
| @@ -77,6 +77,10 @@ | ||||
|  | ||||
|                         <p>Improve <cmd>stanza-create</cmd> command so that it does not error when the stanza already exists.</p> | ||||
|                     </release-item> | ||||
|  | ||||
|                     <release-item> | ||||
|                         <p>Rename <id>db-*</id> options to <id>pg-*</id> and <id>backup-*</id> options to <id>repo-*</id> to improve consistency.  <id>repo-*</id> options are now indexed although only one is allowed.</p> | ||||
|                     </release-item> | ||||
|                 </release-improvement-list> | ||||
|  | ||||
|                 <release-development-list> | ||||
| @@ -154,6 +158,10 @@ | ||||
|                 </release-feature-list> | ||||
|  | ||||
|                  <release-improvement-list> | ||||
|                      <release-item> | ||||
|                          <p>List deprecated option names in documentation and command-line help.</p> | ||||
|                      </release-item> | ||||
|  | ||||
|                      <release-item> | ||||
|                          <release-item-contributor-list> | ||||
|                              <release-item-ideator id="odonnell.jason"/> | ||||
|   | ||||
| @@ -53,10 +53,10 @@ vagrant ssh | ||||
|         <p>Note that process-max is only applicable to the <id>synthetic</id> and <id>full</id> tests in the <id>backup</id> module.</p> | ||||
|  | ||||
|         <code-block title="Run Tests for a Specific OS, Module, Test, Process Max, and Database Version"> | ||||
| /backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4 --db-version=9.4 | ||||
| /backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4 --pg-version=9.4 | ||||
|         </code-block> | ||||
|  | ||||
|         <p>Note that db-version is only applicable to the <id>full</id> test in the <id>backup</id> module.</p> | ||||
|         <p>Note that pg-version is only applicable to the <id>full</id> test in the <id>backup</id> module.</p> | ||||
|  | ||||
|         <code-block title="Iterate All Possible Test Combinations"> | ||||
| /backrest/test/test.pl --dry-run | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -357,7 +357,7 @@ sub walPath | ||||
|         if (!defined($strDbPath)) | ||||
|         { | ||||
|             confess &log(ERROR, | ||||
|                 "option 'db-path' must be specified when relative wal paths are used\n" . | ||||
|                 "option '" . cfgOptionName(CFGOPT_PG_PATH) . "' must be specified when relative wal paths are used\n" . | ||||
|                 "HINT: Is \%f passed to ${strCommand} instead of \%p?\n" . | ||||
|                 "HINT: PostgreSQL may pass relative paths even with \%p depending on the environment.", | ||||
|                 ERROR_OPTION_REQUIRED); | ||||
|   | ||||
| @@ -108,7 +108,7 @@ sub get | ||||
|     my $oStorageRepo = storageRepo(); | ||||
|  | ||||
|     # Construct absolute path to the WAL file when it is relative | ||||
|     $strDestinationFile = walPath($strDestinationFile, cfgOption(CFGOPT_DB_PATH, false), cfgCommandName(cfgCommandGet())); | ||||
|     $strDestinationFile = walPath($strDestinationFile, cfgOption(CFGOPT_PG_PATH, false), cfgCommandName(cfgCommandGet())); | ||||
|  | ||||
|     # Get the wal segment filename | ||||
|     my ($strArchiveId, $strArchiveFile, $strCipherPass) = $self->getCheck(undef, undef, $strSourceArchive, false); | ||||
| @@ -153,7 +153,7 @@ sub get | ||||
| #################################################################################################################################### | ||||
| # getArchiveId | ||||
| # | ||||
| # CAUTION: Only to be used by commands where the DB Version and DB System ID are not important such that the db-path is not valid | ||||
| # CAUTION: Only to be used by commands where the DB Version and DB System ID are not important such that the pg-path is not valid | ||||
| # for the command  (i.e. expire command). Since this function will not check validity of the database version call getCheck() | ||||
| # instead. | ||||
| #################################################################################################################################### | ||||
|   | ||||
| @@ -68,7 +68,7 @@ sub process | ||||
|     lockStopTest(); | ||||
|  | ||||
|     # Extract WAL path and file | ||||
|     my $strWalPath = dirname(walPath($strWalPathFile, cfgOption(CFGOPT_DB_PATH, false), cfgCommandName(cfgCommandGet()))); | ||||
|     my $strWalPath = dirname(walPath($strWalPathFile, cfgOption(CFGOPT_PG_PATH, false), cfgCommandName(cfgCommandGet()))); | ||||
|     my $strWalFile = basename($strWalPathFile); | ||||
|  | ||||
|     # Start the async process and wait for WAL to complete | ||||
|   | ||||
| @@ -390,7 +390,7 @@ sub processManifest | ||||
|         foreach my $hJob (@{$hyJob}) | ||||
|         { | ||||
|             ($lSizeCurrent, $lManifestSaveCurrent) = backupManifestUpdate( | ||||
|                 $oBackupManifest, cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_HOST, $hJob->{iHostConfigIdx}), false), | ||||
|                 $oBackupManifest, cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $hJob->{iHostConfigIdx}), false), | ||||
|                 $hJob->{iProcessId}, @{$hJob->{rParam}}[0..4], @{$hJob->{rResult}}, $lSizeTotal, $lSizeCurrent, $lManifestSaveSize, | ||||
|                 $lManifestSaveCurrent); | ||||
|         } | ||||
| @@ -432,7 +432,7 @@ sub process | ||||
|     # Store local type, compress, and hardlink options since they can be modified by the process | ||||
|     my $strType = cfgOption(CFGOPT_TYPE); | ||||
|     my $bCompress = cfgOption(CFGOPT_COMPRESS); | ||||
|     my $bHardLink = cfgOption(CFGOPT_HARDLINK); | ||||
|     my $bHardLink = cfgOption(CFGOPT_REPO_HARDLINK); | ||||
|  | ||||
|     # Create the cluster backup and history path | ||||
|     $oStorageRepo->pathCreate( | ||||
| @@ -471,8 +471,8 @@ sub process | ||||
|     my $oStorageDbMaster = storageDb({iRemoteIdx => $self->{iMasterRemoteIdx}}); | ||||
|  | ||||
|     # Determine the database paths | ||||
|     my $strDbMasterPath = cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $self->{iMasterRemoteIdx})); | ||||
|     my $strDbCopyPath = cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $self->{iCopyRemoteIdx})); | ||||
|     my $strDbMasterPath = cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $self->{iMasterRemoteIdx})); | ||||
|     my $strDbCopyPath = cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $self->{iCopyRemoteIdx})); | ||||
|  | ||||
|     # Database info | ||||
|     my ($strDbVersion, $iControlVersion, $iCatalogVersion, $ullDbSysId) = $oDbMaster->info(); | ||||
| @@ -601,10 +601,10 @@ sub process | ||||
|                     } | ||||
|                     # Check hardlink | ||||
|                     elsif ($oAbortedManifest->boolGet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK) != | ||||
|                            cfgOption(CFGOPT_HARDLINK)) | ||||
|                            cfgOption(CFGOPT_REPO_HARDLINK)) | ||||
|                     { | ||||
|                         $strKey = MANIFEST_KEY_HARDLINK; | ||||
|                         $strValueNew = cfgOption(CFGOPT_HARDLINK); | ||||
|                         $strValueNew = cfgOption(CFGOPT_REPO_HARDLINK); | ||||
|                         $strValueAborted = $oAbortedManifest->boolGet(MANIFEST_SECTION_BACKUP_OPTION, MANIFEST_KEY_HARDLINK); | ||||
|                     } | ||||
|  | ||||
|   | ||||
| @@ -75,11 +75,11 @@ sub process | ||||
|     logLevelSet(undef, OFF); | ||||
|  | ||||
|     # Loop through all defined databases and attempt to build a manifest | ||||
|     for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_DB_HOST); $iRemoteIdx++) | ||||
|     for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_PG_HOST); $iRemoteIdx++) | ||||
|     { | ||||
|         # Make sure a db is defined for this index | ||||
|         if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx)) || | ||||
|             cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_HOST, $iRemoteIdx))) | ||||
|         if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)) || | ||||
|             cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iRemoteIdx))) | ||||
|         { | ||||
|             eval | ||||
|             { | ||||
| @@ -91,7 +91,7 @@ sub process | ||||
|                     strCipherPassSub => 'x'}); | ||||
|  | ||||
|                 $oBackupManifest->build(storageDb({iRemoteIdx => $iRemoteIdx}), | ||||
|                     cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx)), undef, cfgOption(CFGOPT_ONLINE)); | ||||
|                     cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)), undef, cfgOption(CFGOPT_ONLINE)); | ||||
|  | ||||
|                 return true; | ||||
|             } | ||||
|   | ||||
| @@ -171,23 +171,24 @@ sub configLoad | ||||
|         umask(0000); | ||||
|     } | ||||
|  | ||||
|     # Set db-cmd and backup-cmd to defaults if they are not set.  The command depends on the currently running exe so can't be | ||||
|     # calculated correctly in the C Library -- perhaps in the future this value will be passed in or set some other way | ||||
|     if (cfgOptionValid(CFGOPT_BACKUP_CMD) && cfgOptionTest(CFGOPT_BACKUP_HOST) && !cfgOptionTest(CFGOPT_BACKUP_CMD)) | ||||
|     # Set pg-host-cmd and repo-host-cmd to defaults if they are not set.  The command depends on the currently running exe so can't | ||||
|     # be calculated correctly in the C Library -- perhaps in the future this value will be passed in or set some other way | ||||
|     # ??? THIS IS IMPLEMENTED IN C AND SHOULD BE REMOVED FROM HERE WITHOUT DUPLICATING TEST CODE | ||||
|     if (cfgOptionValid(CFGOPT_REPO_HOST_CMD) && cfgOptionTest(CFGOPT_REPO_HOST) && !cfgOptionTest(CFGOPT_REPO_HOST_CMD)) | ||||
|     { | ||||
|         cfgOptionSet(CFGOPT_BACKUP_CMD, backrestBin()); | ||||
|         $oOption{cfgOptionName(CFGOPT_BACKUP_CMD)}{source} = CFGDEF_SOURCE_DEFAULT; | ||||
|         cfgOptionSet(CFGOPT_REPO_HOST_CMD, backrestBin()); | ||||
|         $oOption{cfgOptionName(CFGOPT_REPO_HOST_CMD)}{source} = CFGDEF_SOURCE_DEFAULT; | ||||
|     } | ||||
|  | ||||
|     if (cfgOptionValid(CFGOPT_DB_CMD)) | ||||
|     if (cfgOptionValid(CFGOPT_PG_HOST_CMD)) | ||||
|     { | ||||
|         for (my $iOptionIdx = 1; $iOptionIdx <= cfgOptionIndexTotal(CFGOPT_DB_HOST); $iOptionIdx++) | ||||
|         for (my $iOptionIdx = 1; $iOptionIdx <= cfgOptionIndexTotal(CFGOPT_PG_HOST); $iOptionIdx++) | ||||
|         { | ||||
|             if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_HOST, $iOptionIdx)) && | ||||
|                 !cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_CMD, $iOptionIdx))) | ||||
|             if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iOptionIdx)) && | ||||
|                 !cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iOptionIdx))) | ||||
|             { | ||||
|                 cfgOptionSet(cfgOptionIdFromIndex(CFGOPT_DB_CMD, $iOptionIdx), backrestBin()); | ||||
|                 $oOption{cfgOptionIdFromIndex(CFGOPT_DB_CMD, $iOptionIdx)}{source} = CFGDEF_SOURCE_DEFAULT; | ||||
|                 cfgOptionSet(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iOptionIdx), backrestBin()); | ||||
|                 $oOption{cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iOptionIdx)}{source} = CFGDEF_SOURCE_DEFAULT; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -213,7 +214,7 @@ sub configLoad | ||||
|     } | ||||
|  | ||||
|     # Make sure that backup and db are not both remote | ||||
|     if (cfgOptionTest(CFGOPT_DB_HOST) && cfgOptionTest(CFGOPT_BACKUP_HOST)) | ||||
|     if (cfgOptionTest(CFGOPT_PG_HOST) && cfgOptionTest(CFGOPT_REPO_HOST)) | ||||
|     { | ||||
|         confess &log(ERROR, 'db and backup cannot both be configured as remote', ERROR_CONFIG); | ||||
|     } | ||||
| @@ -290,13 +291,12 @@ sub configLoad | ||||
| push @EXPORT, qw(configLoad); | ||||
|  | ||||
| #################################################################################################################################### | ||||
| # cfgOptionIdFromIndex - return name for options that can be indexed (e.g. db1-host, db2-host). | ||||
| # cfgOptionIdFromIndex - return name for options that can be indexed (e.g. pg1-host, pg2-host). | ||||
| #################################################################################################################################### | ||||
| sub cfgOptionIdFromIndex | ||||
| { | ||||
|     my $iOptionId = shift; | ||||
|     my $iIndex = shift; | ||||
|     my $bForce = shift; | ||||
|  | ||||
|     # If the option doesn't have a prefix it can't be indexed | ||||
|     $iIndex = defined($iIndex) ? $iIndex : 1; | ||||
|   | ||||
| @@ -89,7 +89,7 @@ sub new | ||||
|  | ||||
|     if (defined($self->{iRemoteIdx})) | ||||
|     { | ||||
|         $self->{strDbPath} = cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $self->{iRemoteIdx})); | ||||
|         $self->{strDbPath} = cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $self->{iRemoteIdx})); | ||||
|  | ||||
|         if (!isDbLocal({iRemoteIdx => $self->{iRemoteIdx}})) | ||||
|         { | ||||
| @@ -161,18 +161,18 @@ sub connect | ||||
|             # Connect to the db | ||||
|             my $strDbName = 'postgres'; | ||||
|             my $strDbUser = getpwuid($<); | ||||
|             my $strDbSocketPath = cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_SOCKET_PATH, $self->{iRemoteIdx}), false); | ||||
|             my $strDbSocketPath = cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_SOCKET_PATH, $self->{iRemoteIdx}), false); | ||||
|  | ||||
|             # Make sure the socket path is absolute | ||||
|             if (defined($strDbSocketPath) && $strDbSocketPath !~ /^\//) | ||||
|             { | ||||
|                 confess &log(ERROR, "'${strDbSocketPath}' is not valid for '" . cfgOptionName(CFGOPT_DB_SOCKET_PATH) . "' option:" . | ||||
|                 confess &log(ERROR, "'${strDbSocketPath}' is not valid for '" . cfgOptionName(CFGOPT_PG_SOCKET_PATH) . "' option:" . | ||||
|                                     " path must be absolute", ERROR_OPTION_INVALID_VALUE); | ||||
|             } | ||||
|  | ||||
|             # Construct the URI | ||||
|             my $strDbUri = | ||||
|                 "dbi:Pg:dbname=${strDbName};port=" . cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PORT, $self->{iRemoteIdx})) . | ||||
|                 "dbi:Pg:dbname=${strDbName};port=" . cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PORT, $self->{iRemoteIdx})) . | ||||
|                 (defined($strDbSocketPath) ? ";host=${strDbSocketPath}" : ''); | ||||
|  | ||||
|             logDebugMisc | ||||
| @@ -556,7 +556,7 @@ sub versionGet | ||||
|         return $self->{strDbVersion}, $self->{strDbPath}; | ||||
|     } | ||||
|  | ||||
|     # Get version and db-path from | ||||
|     # Get version and pg-path from | ||||
|     (my $strVersionNum, $self->{strDbPath}) = | ||||
|         $self->executeSqlRow( | ||||
|             "select (select setting from pg_settings where name = 'server_version_num'), " . | ||||
| @@ -758,13 +758,15 @@ sub configValidate | ||||
|     # Get version and db path from the database | ||||
|     my ($fCompareDbVersion, $strCompareDbPath) = $self->versionGet(); | ||||
|  | ||||
|     # Error if the version from the control file and the configured db-path do not match the values obtained from the database | ||||
|     # Error if the version from the control file and the configured pg-path do not match the values obtained from the database | ||||
|     if (!($strDbVersion == $fCompareDbVersion && $self->{strDbPath} eq $strCompareDbPath)) | ||||
|     { | ||||
|         confess &log(ERROR, | ||||
|             "version '${fCompareDbVersion}' and db-path '${strCompareDbPath}' queried from cluster does not match" . | ||||
|             " version '${strDbVersion}' and db-path '$self->{strDbPath}' read from '$self->{strDbPath}/" . | ||||
|             DB_FILE_PGCONTROL . "'\n" . "HINT: the db-path and db-port settings likely reference different clusters", | ||||
|             "version '${fCompareDbVersion}' and path '${strCompareDbPath}' queried from cluster do not match version" . | ||||
|                 " '${strDbVersion}' and " . cfgOptionName(CFGOPT_PG_PATH) . " '$self->{strDbPath}' read from" . | ||||
|                 " '$self->{strDbPath}/" . DB_FILE_PGCONTROL . "'\n" . | ||||
|             "HINT: the " . cfgOptionName(CFGOPT_PG_PATH) . " and " . cfgOptionName(CFGOPT_PG_PORT) . | ||||
|                 " settings likely reference different clusters", | ||||
|             ERROR_DB_MISMATCH); | ||||
|     } | ||||
|  | ||||
| @@ -1030,11 +1032,11 @@ sub dbObjectGet | ||||
|     # this is simple and works. | ||||
|     if (!$bMasterOnly && cfgOptionTest(CFGOPT_ONLINE) && cfgOption(CFGOPT_ONLINE) && multipleDb()) | ||||
|     { | ||||
|         for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_DB_HOST); $iRemoteIdx++) | ||||
|         for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_PG_HOST); $iRemoteIdx++) | ||||
|         { | ||||
|             # Make sure a db is defined for this index | ||||
|             if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx)) || | ||||
|                 cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_HOST, $iRemoteIdx))) | ||||
|             if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)) || | ||||
|                 cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iRemoteIdx))) | ||||
|             { | ||||
|                 # Create the db object | ||||
|                 my $oDb; | ||||
| @@ -1155,10 +1157,10 @@ push @EXPORT, qw(dbMasterGet); | ||||
| #################################################################################################################################### | ||||
| sub multipleDb | ||||
| { | ||||
|     for (my $iDbPathIdx = 2; $iDbPathIdx <= cfgOptionIndexTotal(CFGOPT_DB_PATH); $iDbPathIdx++) | ||||
|     for (my $iDbPathIdx = 2; $iDbPathIdx <= cfgOptionIndexTotal(CFGOPT_PG_PATH); $iDbPathIdx++) | ||||
|     { | ||||
|         # If an index exists above 1 then return true | ||||
|         if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iDbPathIdx))) | ||||
|         if (cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iDbPathIdx))) | ||||
|         { | ||||
|             return true; | ||||
|         } | ||||
|   | ||||
| @@ -87,7 +87,9 @@ sub main | ||||
|                 !cfgOptionTest(CFGOPT_REPO_TYPE, CFGOPTVAL_REPO_TYPE_S3) && | ||||
|                 !-e cfgOption(CFGOPT_REPO_PATH)) | ||||
|             { | ||||
|                 confess &log(ERROR, 'repo-path \'' . cfgOption(CFGOPT_REPO_PATH) . '\' does not exist', ERROR_PATH_MISSING); | ||||
|                 confess &log(ERROR, | ||||
|                     cfgOptionName(CFGOPT_REPO_PATH) . ' \'' . cfgOption(CFGOPT_REPO_PATH) . '\' does not exist', | ||||
|                     ERROR_PATH_MISSING); | ||||
|             } | ||||
|  | ||||
|             # Load module dynamically | ||||
| @@ -166,7 +168,8 @@ sub main | ||||
|  | ||||
|         if (isRepoLocal() && !cfgOptionTest(CFGOPT_REPO_TYPE, CFGOPTVAL_REPO_TYPE_S3) && !storageRepo()->pathExists('')) | ||||
|         { | ||||
|             confess &log(ERROR, 'repo-path \'' . cfgOption(CFGOPT_REPO_PATH) . '\' does not exist', ERROR_PATH_MISSING); | ||||
|             confess &log(ERROR, | ||||
|                 cfgOptionName(CFGOPT_REPO_PATH) . ' \'' . cfgOption(CFGOPT_REPO_PATH) . '\' does not exist', ERROR_PATH_MISSING); | ||||
|         } | ||||
|  | ||||
|         ############################################################################################################################ | ||||
|   | ||||
| @@ -98,7 +98,7 @@ use constant MANIFEST_KEY_TYPE                                      => 'backup-t | ||||
| # Options that were set when the backup was made | ||||
| use constant MANIFEST_KEY_BACKUP_STANDBY                            => 'option-' . cfgOptionName(CFGOPT_BACKUP_STANDBY); | ||||
|     push @EXPORT, qw(MANIFEST_KEY_BACKUP_STANDBY); | ||||
| use constant MANIFEST_KEY_HARDLINK                                  => 'option-' . cfgOptionName(CFGOPT_HARDLINK); | ||||
| use constant MANIFEST_KEY_HARDLINK                                  => 'option-hardlink'; | ||||
|     push @EXPORT, qw(MANIFEST_KEY_HARDLINK); | ||||
| use constant MANIFEST_KEY_ARCHIVE_CHECK                             => 'option-' . cfgOptionName(CFGOPT_ARCHIVE_CHECK); | ||||
|     push @EXPORT, qw(MANIFEST_KEY_ARCHIVE_CHECK); | ||||
|   | ||||
| @@ -98,7 +98,7 @@ sub isRepoLocal | ||||
|         confess &log(ASSERT, 'isRepoLocal() not valid on ' . cfgOption(CFGOPT_TYPE) . ' remote'); | ||||
|     } | ||||
|  | ||||
|     return cfgOptionTest(CFGOPT_BACKUP_HOST) ? false : true; | ||||
|     return cfgOptionTest(CFGOPT_REPO_HOST) ? false : true; | ||||
| } | ||||
|  | ||||
| push @EXPORT, qw(isRepoLocal); | ||||
| @@ -127,7 +127,7 @@ sub isDbLocal | ||||
|         confess &log(ASSERT, 'isDbLocal() not valid on ' . cfgOption(CFGOPT_TYPE) . ' remote'); | ||||
|     } | ||||
|  | ||||
|     my $bLocal = cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_DB_HOST, $iRemoteIdx)) ? false : true; | ||||
|     my $bLocal = cfgOptionTest(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iRemoteIdx)) ? false : true; | ||||
|  | ||||
|     # Return from function and log return values if any | ||||
|     return logDebugReturn | ||||
| @@ -165,46 +165,46 @@ sub protocolParam | ||||
|         ); | ||||
|  | ||||
|     # Return the remote when required | ||||
|     my $iOptionIdCmd = CFGOPT_BACKUP_CMD; | ||||
|     my $iOptionIdConfig = CFGOPT_BACKUP_CONFIG; | ||||
|     my $iOptionIdHost = CFGOPT_BACKUP_HOST; | ||||
|     my $iOptionIdUser = CFGOPT_BACKUP_USER; | ||||
|     my $iOptionIdCmd = CFGOPT_REPO_HOST_CMD; | ||||
|     my $iOptionIdConfig = CFGOPT_REPO_HOST_CONFIG; | ||||
|     my $iOptionIdHost = CFGOPT_REPO_HOST; | ||||
|     my $iOptionIdUser = CFGOPT_REPO_HOST_USER; | ||||
|     my $strOptionDbPath = undef; | ||||
|     my $strOptionDbPort = undef; | ||||
|     my $strOptionDbSocketPath = undef; | ||||
|     my $strOptionSshPort = CFGOPT_BACKUP_SSH_PORT; | ||||
|     my $strOptionSshPort = CFGOPT_REPO_HOST_PORT; | ||||
|  | ||||
|     if ($strRemoteType eq CFGOPTVAL_REMOTE_TYPE_DB) | ||||
|     { | ||||
|         $iOptionIdCmd = cfgOptionIdFromIndex(CFGOPT_DB_CMD, $iRemoteIdx); | ||||
|         $iOptionIdConfig = cfgOptionIdFromIndex(CFGOPT_DB_CONFIG, $iRemoteIdx); | ||||
|         $iOptionIdHost = cfgOptionIdFromIndex(CFGOPT_DB_HOST, $iRemoteIdx); | ||||
|         $iOptionIdUser = cfgOptionIdFromIndex(CFGOPT_DB_USER, $iRemoteIdx); | ||||
|         $strOptionSshPort = cfgOptionIdFromIndex(CFGOPT_DB_SSH_PORT, $iRemoteIdx); | ||||
|         $iOptionIdCmd = cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iRemoteIdx); | ||||
|         $iOptionIdConfig = cfgOptionIdFromIndex(CFGOPT_PG_HOST_CONFIG, $iRemoteIdx); | ||||
|         $iOptionIdHost = cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iRemoteIdx); | ||||
|         $iOptionIdUser = cfgOptionIdFromIndex(CFGOPT_PG_HOST_USER, $iRemoteIdx); | ||||
|         $strOptionSshPort = cfgOptionIdFromIndex(CFGOPT_PG_HOST_PORT, $iRemoteIdx); | ||||
|     } | ||||
|  | ||||
|     # Db path is not valid in all contexts (restore, for instance) | ||||
|     if (cfgOptionValid(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx))) | ||||
|     if (cfgOptionValid(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx))) | ||||
|     { | ||||
|         $strOptionDbPath = | ||||
|             cfgOptionSource(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx)) eq CFGDEF_SOURCE_DEFAULT ? | ||||
|                 undef : cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx)); | ||||
|             cfgOptionSource(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)) eq CFGDEF_SOURCE_DEFAULT ? | ||||
|                 undef : cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)); | ||||
|     } | ||||
|  | ||||
|     # Db port is not valid in all contexts (restore, for instance) | ||||
|     if (cfgOptionValid(cfgOptionIdFromIndex(CFGOPT_DB_PORT, $iRemoteIdx))) | ||||
|     if (cfgOptionValid(cfgOptionIdFromIndex(CFGOPT_PG_PORT, $iRemoteIdx))) | ||||
|     { | ||||
|         $strOptionDbPort = | ||||
|             cfgOptionSource(cfgOptionIdFromIndex(CFGOPT_DB_PORT, $iRemoteIdx)) eq CFGDEF_SOURCE_DEFAULT ? | ||||
|                 undef : cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PORT, $iRemoteIdx)); | ||||
|             cfgOptionSource(cfgOptionIdFromIndex(CFGOPT_PG_PORT, $iRemoteIdx)) eq CFGDEF_SOURCE_DEFAULT ? | ||||
|                 undef : cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PORT, $iRemoteIdx)); | ||||
|     } | ||||
|  | ||||
|     # Db socket is not valid in all contexts (restore, for instance) | ||||
|     if (cfgOptionValid(cfgOptionIdFromIndex(CFGOPT_DB_SOCKET_PATH, $iRemoteIdx))) | ||||
|     if (cfgOptionValid(cfgOptionIdFromIndex(CFGOPT_PG_SOCKET_PATH, $iRemoteIdx))) | ||||
|     { | ||||
|         $strOptionDbSocketPath = | ||||
|             cfgOptionSource(cfgOptionIdFromIndex(CFGOPT_DB_SOCKET_PATH, $iRemoteIdx)) eq CFGDEF_SOURCE_DEFAULT ? | ||||
|                 undef : cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_SOCKET_PATH, $iRemoteIdx)); | ||||
|             cfgOptionSource(cfgOptionIdFromIndex(CFGOPT_PG_SOCKET_PATH, $iRemoteIdx)) eq CFGDEF_SOURCE_DEFAULT ? | ||||
|                 undef : cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_SOCKET_PATH, $iRemoteIdx)); | ||||
|     } | ||||
|  | ||||
|     # Build hash to set and override command options | ||||
| @@ -223,9 +223,9 @@ sub protocolParam | ||||
|         # option will be set to 'protocol' which is not a valid value from the command line. | ||||
|         &CFGOPT_LOG_LEVEL_STDERR => {}, | ||||
|  | ||||
|         cfgOptionIdFromIndex(CFGOPT_DB_PATH, 1) => {value => $strOptionDbPath}, | ||||
|         cfgOptionIdFromIndex(CFGOPT_DB_PORT, 1) => {value => $strOptionDbPort}, | ||||
|         cfgOptionIdFromIndex(CFGOPT_DB_SOCKET_PATH, 1) => {value => $strOptionDbSocketPath}, | ||||
|         cfgOptionIdFromIndex(CFGOPT_PG_PATH, 1) => {value => $strOptionDbPath}, | ||||
|         cfgOptionIdFromIndex(CFGOPT_PG_PORT, 1) => {value => $strOptionDbPort}, | ||||
|         cfgOptionIdFromIndex(CFGOPT_PG_SOCKET_PATH, 1) => {value => $strOptionDbSocketPath}, | ||||
|  | ||||
|         # Set protocol options explicitly so values are not picked up from remote config files | ||||
|         &CFGOPT_BUFFER_SIZE =>  {value => cfgOption(CFGOPT_BUFFER_SIZE)}, | ||||
| @@ -236,20 +236,20 @@ sub protocolParam | ||||
|  | ||||
|     # Override some per-db options that shouldn't be passed to the command. ??? This could be done better as a new define | ||||
|     # for these options which would then be implemented in cfgCommandWrite(). | ||||
|     for (my $iOptionIdx = 1; $iOptionIdx <= cfgOptionIndexTotal(CFGOPT_DB_HOST); $iOptionIdx++) | ||||
|     for (my $iOptionIdx = 1; $iOptionIdx <= cfgOptionIndexTotal(CFGOPT_PG_HOST); $iOptionIdx++) | ||||
|     { | ||||
|         if ($iOptionIdx != 1) | ||||
|         { | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_CONFIG, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_HOST, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_PORT, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_SOCKET_PATH, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_HOST_CONFIG, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_PORT, $iOptionIdx)} = {}; | ||||
|             $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_SOCKET_PATH, $iOptionIdx)} = {}; | ||||
|         } | ||||
|  | ||||
|         $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_CMD, $iOptionIdx)} = {}; | ||||
|         $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_USER, $iOptionIdx)} = {}; | ||||
|         $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_DB_SSH_PORT, $iOptionIdx)} = {}; | ||||
|         $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iOptionIdx)} = {}; | ||||
|         $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_HOST_USER, $iOptionIdx)} = {}; | ||||
|         $rhCommandOption->{cfgOptionIdFromIndex(CFGOPT_PG_HOST_PORT, $iOptionIdx)} = {}; | ||||
|     } | ||||
|  | ||||
|     # Generate the remote command | ||||
| @@ -302,7 +302,7 @@ sub protocolGet | ||||
|  | ||||
|     # If no remote requested or if the requested remote type is local then return a local protocol object | ||||
|     if (!cfgOptionTest( | ||||
|             cfgOptionIdFromIndex($strRemoteType eq CFGOPTVAL_REMOTE_TYPE_DB ? CFGOPT_DB_HOST : CFGOPT_BACKUP_HOST, $iRemoteIdx))) | ||||
|             cfgOptionIdFromIndex($strRemoteType eq CFGOPTVAL_REMOTE_TYPE_DB ? CFGOPT_PG_HOST : CFGOPT_REPO_HOST, $iRemoteIdx))) | ||||
|     { | ||||
|         confess &log(ASSERT, 'protocol cannot be created when remote host is not specified'); | ||||
|     } | ||||
|   | ||||
| @@ -61,7 +61,7 @@ sub storageDb | ||||
|         if (isDbLocal({iRemoteIdx => $iRemoteIdx})) | ||||
|         { | ||||
|             $hStorage->{&STORAGE_DB}{$iRemoteIdx} = new pgBackRest::Storage::Local( | ||||
|                 cfgOption(cfgOptionIdFromIndex(CFGOPT_DB_PATH, $iRemoteIdx)), new pgBackRest::Storage::Posix::Driver(), | ||||
|                 cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)), new pgBackRest::Storage::Posix::Driver(), | ||||
|                 {strTempExtension => STORAGE_TEMP_EXT, lBufferMax => cfgOption(CFGOPT_BUFFER_SIZE)}); | ||||
|         } | ||||
|         else | ||||
|   | ||||
| @@ -43,7 +43,7 @@ sub new | ||||
|     $self->{oProtocol} = !isRepoLocal() ? protocolGet(CFGOPTVAL_REMOTE_TYPE_BACKUP) : undef; | ||||
|  | ||||
|     # Initialize variables | ||||
|     $self->{strDbClusterPath} = cfgOption(CFGOPT_DB_PATH); | ||||
|     $self->{strDbClusterPath} = cfgOption(CFGOPT_PG_PATH); | ||||
|     $self->{strBackupSet} = cfgOption(CFGOPT_SET); | ||||
|  | ||||
|     # Return from function and log return values if any | ||||
|   | ||||
| @@ -730,7 +730,7 @@ sub dbInfoGet | ||||
|     # postgres logs. | ||||
|     if (cfgOption(CFGOPT_ONLINE)) | ||||
|     { | ||||
|         # If the db-path in pgbackrest.conf does not match the pg_control then this will error alert the user to fix pgbackrest.conf | ||||
|         # If the pg-path in pgbackrest.conf does not match the pg_control then this will error alert the user to fix pgbackrest.conf | ||||
|         $self->{oDb}->configValidate(); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -87,7 +87,6 @@ my $rhExport = | ||||
|             cfgDefOptionDependValue | ||||
|             cfgDefOptionDependValueTotal | ||||
|             cfgDefOptionDependValueValid | ||||
|             cfgDefOptionNameAlt | ||||
|             cfgDefOptionNegate | ||||
|             cfgDefOptionPrefix | ||||
|             cfgDefOptionRequired | ||||
|   | ||||
| @@ -120,12 +120,7 @@ sub libcAutoExportTag | ||||
|             'CFGOPT_ARCHIVE_COPY', | ||||
|             'CFGOPT_ARCHIVE_QUEUE_MAX', | ||||
|             'CFGOPT_ARCHIVE_TIMEOUT', | ||||
|             'CFGOPT_BACKUP_CMD', | ||||
|             'CFGOPT_BACKUP_CONFIG', | ||||
|             'CFGOPT_BACKUP_HOST', | ||||
|             'CFGOPT_BACKUP_SSH_PORT', | ||||
|             'CFGOPT_BACKUP_STANDBY', | ||||
|             'CFGOPT_BACKUP_USER', | ||||
|             'CFGOPT_BUFFER_SIZE', | ||||
|             'CFGOPT_CHECKSUM_PAGE', | ||||
|             'CFGOPT_CMD_SSH', | ||||
| @@ -134,19 +129,10 @@ sub libcAutoExportTag | ||||
|             'CFGOPT_COMPRESS_LEVEL', | ||||
|             'CFGOPT_COMPRESS_LEVEL_NETWORK', | ||||
|             'CFGOPT_CONFIG', | ||||
|             'CFGOPT_DB_CMD', | ||||
|             'CFGOPT_DB_CONFIG', | ||||
|             'CFGOPT_DB_HOST', | ||||
|             'CFGOPT_DB_INCLUDE', | ||||
|             'CFGOPT_DB_PATH', | ||||
|             'CFGOPT_DB_PORT', | ||||
|             'CFGOPT_DB_SOCKET_PATH', | ||||
|             'CFGOPT_DB_SSH_PORT', | ||||
|             'CFGOPT_DB_TIMEOUT', | ||||
|             'CFGOPT_DB_USER', | ||||
|             'CFGOPT_DELTA', | ||||
|             'CFGOPT_FORCE', | ||||
|             'CFGOPT_HARDLINK', | ||||
|             'CFGOPT_HOST_ID', | ||||
|             'CFGOPT_LINK_ALL', | ||||
|             'CFGOPT_LINK_MAP', | ||||
| @@ -162,12 +148,26 @@ sub libcAutoExportTag | ||||
|             'CFGOPT_OUTPUT', | ||||
|             'CFGOPT_PERL_BIN', | ||||
|             'CFGOPT_PERL_OPTION', | ||||
|             'CFGOPT_PG_HOST', | ||||
|             'CFGOPT_PG_HOST_CMD', | ||||
|             'CFGOPT_PG_HOST_CONFIG', | ||||
|             'CFGOPT_PG_HOST_PORT', | ||||
|             'CFGOPT_PG_HOST_USER', | ||||
|             'CFGOPT_PG_PATH', | ||||
|             'CFGOPT_PG_PORT', | ||||
|             'CFGOPT_PG_SOCKET_PATH', | ||||
|             'CFGOPT_PROCESS', | ||||
|             'CFGOPT_PROCESS_MAX', | ||||
|             'CFGOPT_PROTOCOL_TIMEOUT', | ||||
|             'CFGOPT_RECOVERY_OPTION', | ||||
|             'CFGOPT_REPO_CIPHER_PASS', | ||||
|             'CFGOPT_REPO_CIPHER_TYPE', | ||||
|             'CFGOPT_REPO_HARDLINK', | ||||
|             'CFGOPT_REPO_HOST', | ||||
|             'CFGOPT_REPO_HOST_CMD', | ||||
|             'CFGOPT_REPO_HOST_CONFIG', | ||||
|             'CFGOPT_REPO_HOST_PORT', | ||||
|             'CFGOPT_REPO_HOST_USER', | ||||
|             'CFGOPT_REPO_PATH', | ||||
|             'CFGOPT_REPO_S3_BUCKET', | ||||
|             'CFGOPT_REPO_S3_CA_FILE', | ||||
| @@ -227,7 +227,6 @@ sub libcAutoExportTag | ||||
|             'cfgDefOptionDependValue', | ||||
|             'cfgDefOptionDependValueTotal', | ||||
|             'cfgDefOptionDependValueValid', | ||||
|             'cfgDefOptionNameAlt', | ||||
|             'cfgDefOptionNegate', | ||||
|             'cfgDefOptionPrefix', | ||||
|             'cfgDefOptionRequired', | ||||
|   | ||||
| @@ -34,12 +34,7 @@ Option constants | ||||
| #define CFGOPT_ARCHIVE_COPY                                         cfgOptArchiveCopy | ||||
| #define CFGOPT_ARCHIVE_QUEUE_MAX                                    cfgOptArchiveQueueMax | ||||
| #define CFGOPT_ARCHIVE_TIMEOUT                                      cfgOptArchiveTimeout | ||||
| #define CFGOPT_BACKUP_CMD                                           cfgOptBackupCmd | ||||
| #define CFGOPT_BACKUP_CONFIG                                        cfgOptBackupConfig | ||||
| #define CFGOPT_BACKUP_HOST                                          cfgOptBackupHost | ||||
| #define CFGOPT_BACKUP_SSH_PORT                                      cfgOptBackupSshPort | ||||
| #define CFGOPT_BACKUP_STANDBY                                       cfgOptBackupStandby | ||||
| #define CFGOPT_BACKUP_USER                                          cfgOptBackupUser | ||||
| #define CFGOPT_BUFFER_SIZE                                          cfgOptBufferSize | ||||
| #define CFGOPT_CHECKSUM_PAGE                                        cfgOptChecksumPage | ||||
| #define CFGOPT_CMD_SSH                                              cfgOptCmdSsh | ||||
| @@ -48,19 +43,10 @@ Option constants | ||||
| #define CFGOPT_COMPRESS_LEVEL                                       cfgOptCompressLevel | ||||
| #define CFGOPT_COMPRESS_LEVEL_NETWORK                               cfgOptCompressLevelNetwork | ||||
| #define CFGOPT_CONFIG                                               cfgOptConfig | ||||
| #define CFGOPT_DB_CMD                                               cfgOptDbCmd | ||||
| #define CFGOPT_DB_CONFIG                                            cfgOptDbConfig | ||||
| #define CFGOPT_DB_HOST                                              cfgOptDbHost | ||||
| #define CFGOPT_DB_INCLUDE                                           cfgOptDbInclude | ||||
| #define CFGOPT_DB_PATH                                              cfgOptDbPath | ||||
| #define CFGOPT_DB_PORT                                              cfgOptDbPort | ||||
| #define CFGOPT_DB_SOCKET_PATH                                       cfgOptDbSocketPath | ||||
| #define CFGOPT_DB_SSH_PORT                                          cfgOptDbSshPort | ||||
| #define CFGOPT_DB_TIMEOUT                                           cfgOptDbTimeout | ||||
| #define CFGOPT_DB_USER                                              cfgOptDbUser | ||||
| #define CFGOPT_DELTA                                                cfgOptDelta | ||||
| #define CFGOPT_FORCE                                                cfgOptForce | ||||
| #define CFGOPT_HARDLINK                                             cfgOptHardlink | ||||
| #define CFGOPT_HOST_ID                                              cfgOptHostId | ||||
| #define CFGOPT_LINK_ALL                                             cfgOptLinkAll | ||||
| #define CFGOPT_LINK_MAP                                             cfgOptLinkMap | ||||
| @@ -76,12 +62,26 @@ Option constants | ||||
| #define CFGOPT_OUTPUT                                               cfgOptOutput | ||||
| #define CFGOPT_PERL_BIN                                             cfgOptPerlBin | ||||
| #define CFGOPT_PERL_OPTION                                          cfgOptPerlOption | ||||
| #define CFGOPT_PG_HOST                                              cfgOptPgHost | ||||
| #define CFGOPT_PG_HOST_CMD                                          cfgOptPgHostCmd | ||||
| #define CFGOPT_PG_HOST_CONFIG                                       cfgOptPgHostConfig | ||||
| #define CFGOPT_PG_HOST_PORT                                         cfgOptPgHostPort | ||||
| #define CFGOPT_PG_HOST_USER                                         cfgOptPgHostUser | ||||
| #define CFGOPT_PG_PATH                                              cfgOptPgPath | ||||
| #define CFGOPT_PG_PORT                                              cfgOptPgPort | ||||
| #define CFGOPT_PG_SOCKET_PATH                                       cfgOptPgSocketPath | ||||
| #define CFGOPT_PROCESS                                              cfgOptProcess | ||||
| #define CFGOPT_PROCESS_MAX                                          cfgOptProcessMax | ||||
| #define CFGOPT_PROTOCOL_TIMEOUT                                     cfgOptProtocolTimeout | ||||
| #define CFGOPT_RECOVERY_OPTION                                      cfgOptRecoveryOption | ||||
| #define CFGOPT_REPO_CIPHER_PASS                                     cfgOptRepoCipherPass | ||||
| #define CFGOPT_REPO_CIPHER_TYPE                                     cfgOptRepoCipherType | ||||
| #define CFGOPT_REPO_HARDLINK                                        cfgOptRepoHardlink | ||||
| #define CFGOPT_REPO_HOST                                            cfgOptRepoHost | ||||
| #define CFGOPT_REPO_HOST_CMD                                        cfgOptRepoHostCmd | ||||
| #define CFGOPT_REPO_HOST_CONFIG                                     cfgOptRepoHostConfig | ||||
| #define CFGOPT_REPO_HOST_PORT                                       cfgOptRepoHostPort | ||||
| #define CFGOPT_REPO_HOST_USER                                       cfgOptRepoHostUser | ||||
| #define CFGOPT_REPO_PATH                                            cfgOptRepoPath | ||||
| #define CFGOPT_REPO_S3_BUCKET                                       cfgOptRepoS3Bucket | ||||
| #define CFGOPT_REPO_S3_CA_FILE                                      cfgOptRepoS3CaFile | ||||
|   | ||||
| @@ -233,23 +233,6 @@ CODE: | ||||
| OUTPUT: | ||||
|     RETVAL | ||||
|  | ||||
| const char * | ||||
| cfgDefOptionNameAlt(optionId) | ||||
|     U32 optionId | ||||
| CODE: | ||||
|     RETVAL = NULL; | ||||
|  | ||||
|     ERROR_XS_BEGIN() | ||||
|     { | ||||
|         if (cfgOptionIndexTotal(optionId) > 1 && cfgOptionIndex(optionId) == 0) | ||||
|             RETVAL = cfgDefOptionName(cfgOptionDefIdFromId(optionId)); | ||||
|         else | ||||
|             RETVAL = cfgDefOptionNameAlt(cfgOptionDefIdFromId(optionId)); | ||||
|     } | ||||
|     ERROR_XS_END(); | ||||
| OUTPUT: | ||||
|     RETVAL | ||||
|  | ||||
| bool cfgDefOptionNegate(optionId) | ||||
|     U32 optionId | ||||
| CODE: | ||||
|   | ||||
| @@ -255,12 +255,17 @@ helpRender() | ||||
|  | ||||
|                 // Ensure the option is valid | ||||
|                 const char *optionName = strPtr(strLstGet(cfgCommandParam(), 0)); | ||||
|                 ConfigOption optionId = cfgOptionId(optionName); | ||||
|  | ||||
|                 if (cfgOptionId(optionName) == -1) | ||||
|                     THROW(OptionInvalidError, "option '%s' is not valid for command '%s'", optionName, commandName); | ||||
|                 { | ||||
|                     if (cfgDefOptionId(optionName) != -1) | ||||
|                         optionId = cfgOptionIdFromDefId(cfgDefOptionId(optionName), 0); | ||||
|                     else | ||||
|                         THROW(OptionInvalidError, "option '%s' is not valid for command '%s'", optionName, commandName); | ||||
|                 } | ||||
|  | ||||
|                 // Output option summary and description | ||||
|                 ConfigOption optionId = cfgOptionId(optionName); | ||||
|                 ConfigDefineOption optionDefId = cfgOptionDefIdFromId(optionId); | ||||
|  | ||||
|                 strCatFmt( | ||||
| @@ -291,6 +296,27 @@ helpRender() | ||||
|                     if (defaultValue != NULL) | ||||
|                         strCatFmt(result, "default: %s\n", strPtr(defaultValue)); | ||||
|                 } | ||||
|  | ||||
|                 // Output alternate names (call them deprecated so the user will know not to use them) | ||||
|                 if (cfgDefOptionHelpNameAlt(optionDefId)) | ||||
|                 { | ||||
|                     strCat(result, "\ndeprecated name"); | ||||
|  | ||||
|                     if (cfgDefOptionHelpNameAltValueTotal(optionDefId) > 1) | ||||
|                         strCat(result, "s");                        // {uncovered - no option has more than one alt name} | ||||
|  | ||||
|                     strCat(result, ": "); | ||||
|  | ||||
|                     for (int nameAltIdx = 0; nameAltIdx < cfgDefOptionHelpNameAltValueTotal(optionDefId); nameAltIdx++) | ||||
|                     { | ||||
|                         if (nameAltIdx != 0) | ||||
|                             strCat(result, ", ");                   // {uncovered - no option has more than one alt name} | ||||
|  | ||||
|                         strCat(result, cfgDefOptionHelpNameAltValue(optionDefId, nameAltIdx)); | ||||
|                     } | ||||
|  | ||||
|                     strCat(result, "\n"); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -50,12 +50,7 @@ typedef enum | ||||
|     cfgOptArchiveCopy, | ||||
|     cfgOptArchiveQueueMax, | ||||
|     cfgOptArchiveTimeout, | ||||
|     cfgOptBackupCmd, | ||||
|     cfgOptBackupConfig, | ||||
|     cfgOptBackupHost, | ||||
|     cfgOptBackupSshPort, | ||||
|     cfgOptBackupStandby, | ||||
|     cfgOptBackupUser, | ||||
|     cfgOptBufferSize, | ||||
|     cfgOptChecksumPage, | ||||
|     cfgOptCmdSsh, | ||||
| @@ -64,19 +59,10 @@ typedef enum | ||||
|     cfgOptCompressLevel, | ||||
|     cfgOptCompressLevelNetwork, | ||||
|     cfgOptConfig, | ||||
|     cfgOptDbCmd, | ||||
|     cfgOptDbConfig =                                                27, | ||||
|     cfgOptDbHost =                                                  35, | ||||
|     cfgOptDbInclude =                                               43, | ||||
|     cfgOptDbPath, | ||||
|     cfgOptDbPort =                                                  52, | ||||
|     cfgOptDbSocketPath =                                            60, | ||||
|     cfgOptDbSshPort =                                               68, | ||||
|     cfgOptDbTimeout =                                               76, | ||||
|     cfgOptDbUser, | ||||
|     cfgOptDelta =                                                   85, | ||||
|     cfgOptDbInclude, | ||||
|     cfgOptDbTimeout, | ||||
|     cfgOptDelta, | ||||
|     cfgOptForce, | ||||
|     cfgOptHardlink, | ||||
|     cfgOptHostId, | ||||
|     cfgOptLinkAll, | ||||
|     cfgOptLinkMap, | ||||
| @@ -92,12 +78,26 @@ typedef enum | ||||
|     cfgOptOutput, | ||||
|     cfgOptPerlBin, | ||||
|     cfgOptPerlOption, | ||||
|     cfgOptProcess, | ||||
|     cfgOptPgHost, | ||||
|     cfgOptPgHostCmd =                                               41, | ||||
|     cfgOptPgHostConfig =                                            49, | ||||
|     cfgOptPgHostPort =                                              57, | ||||
|     cfgOptPgHostUser =                                              65, | ||||
|     cfgOptPgPath =                                                  73, | ||||
|     cfgOptPgPort =                                                  81, | ||||
|     cfgOptPgSocketPath =                                            89, | ||||
|     cfgOptProcess =                                                 97, | ||||
|     cfgOptProcessMax, | ||||
|     cfgOptProtocolTimeout, | ||||
|     cfgOptRecoveryOption, | ||||
|     cfgOptRepoCipherPass, | ||||
|     cfgOptRepoCipherType, | ||||
|     cfgOptRepoHardlink, | ||||
|     cfgOptRepoHost, | ||||
|     cfgOptRepoHostCmd, | ||||
|     cfgOptRepoHostConfig, | ||||
|     cfgOptRepoHostPort, | ||||
|     cfgOptRepoHostUser, | ||||
|     cfgOptRepoPath, | ||||
|     cfgOptRepoS3Bucket, | ||||
|     cfgOptRepoS3CaFile, | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -52,12 +52,7 @@ typedef enum | ||||
|     cfgDefOptArchiveCopy, | ||||
|     cfgDefOptArchiveQueueMax, | ||||
|     cfgDefOptArchiveTimeout, | ||||
|     cfgDefOptBackupCmd, | ||||
|     cfgDefOptBackupConfig, | ||||
|     cfgDefOptBackupHost, | ||||
|     cfgDefOptBackupSshPort, | ||||
|     cfgDefOptBackupStandby, | ||||
|     cfgDefOptBackupUser, | ||||
|     cfgDefOptBufferSize, | ||||
|     cfgDefOptChecksumPage, | ||||
|     cfgDefOptCmdSsh, | ||||
| @@ -66,19 +61,10 @@ typedef enum | ||||
|     cfgDefOptCompressLevel, | ||||
|     cfgDefOptCompressLevelNetwork, | ||||
|     cfgDefOptConfig, | ||||
|     cfgDefOptDbCmd, | ||||
|     cfgDefOptDbConfig, | ||||
|     cfgDefOptDbHost, | ||||
|     cfgDefOptDbInclude, | ||||
|     cfgDefOptDbPath, | ||||
|     cfgDefOptDbPort, | ||||
|     cfgDefOptDbSocketPath, | ||||
|     cfgDefOptDbSshPort, | ||||
|     cfgDefOptDbTimeout, | ||||
|     cfgDefOptDbUser, | ||||
|     cfgDefOptDelta, | ||||
|     cfgDefOptForce, | ||||
|     cfgDefOptHardlink, | ||||
|     cfgDefOptHostId, | ||||
|     cfgDefOptLinkAll, | ||||
|     cfgDefOptLinkMap, | ||||
| @@ -94,12 +80,26 @@ typedef enum | ||||
|     cfgDefOptOutput, | ||||
|     cfgDefOptPerlBin, | ||||
|     cfgDefOptPerlOption, | ||||
|     cfgDefOptPgHost, | ||||
|     cfgDefOptPgHostCmd, | ||||
|     cfgDefOptPgHostConfig, | ||||
|     cfgDefOptPgHostPort, | ||||
|     cfgDefOptPgHostUser, | ||||
|     cfgDefOptPgPath, | ||||
|     cfgDefOptPgPort, | ||||
|     cfgDefOptPgSocketPath, | ||||
|     cfgDefOptProcess, | ||||
|     cfgDefOptProcessMax, | ||||
|     cfgDefOptProtocolTimeout, | ||||
|     cfgDefOptRecoveryOption, | ||||
|     cfgDefOptRepoCipherPass, | ||||
|     cfgDefOptRepoCipherType, | ||||
|     cfgDefOptRepoHardlink, | ||||
|     cfgDefOptRepoHost, | ||||
|     cfgDefOptRepoHostCmd, | ||||
|     cfgDefOptRepoHostConfig, | ||||
|     cfgDefOptRepoHostPort, | ||||
|     cfgDefOptRepoHostUser, | ||||
|     cfgDefOptRepoPath, | ||||
|     cfgDefOptRepoS3Bucket, | ||||
|     cfgDefOptRepoS3CaFile, | ||||
|   | ||||
| @@ -42,7 +42,7 @@ typedef struct ConfigDefineOptionData | ||||
|     const char *name;                                               // Option name | ||||
|     unsigned int type:3;                                            // Option type (e.g. string, int, boolean, etc.) | ||||
|     unsigned int internal:1;                                        // Is the option only used internally? | ||||
|     unsigned int indexTotal:4;                                      // 0 normally, > 0 if indexed option (e.g. db1-*) | ||||
|     unsigned int indexTotal:4;                                      // 0 normally, > 0 if indexed option (e.g. pg1-*) | ||||
|     unsigned int section:2;                                         // Config section (e.g. global, stanza, cmd-line) | ||||
|     bool negate:1;                                                  // Can the option be negated? | ||||
|     bool required:1;                                                // Is the option required? | ||||
| @@ -100,9 +100,9 @@ typedef enum | ||||
|     configDefDataTypeCommand, | ||||
|     configDefDataTypeDefault, | ||||
|     configDefDataTypeDepend, | ||||
|     configDefDataTypeNameAlt, | ||||
|     configDefDataTypePrefix, | ||||
|     configDefDataTypeRequired, | ||||
|     configDefDataTypeHelpNameAlt, | ||||
|     configDefDataTypeHelpSummary, | ||||
|     configDefDataTypeHelpDescription, | ||||
| } ConfigDefineDataType; | ||||
| @@ -134,9 +134,6 @@ typedef enum | ||||
|         configDefDataTypeAllowRange, 2, 0, (const void *)(intptr_t)(int32)(rangeMinParam * 100),                                   \ | ||||
|         (const void *)(intptr_t)(int32)(rangeMaxParam * 100)), | ||||
|  | ||||
| #define CFGDEFDATA_OPTION_OPTIONAL_NAME_ALT(nameAltParam)                                                                          \ | ||||
|     CFGDATA_OPTION_OPTIONAL_PUSH_LIST(configDefDataTypeNameAlt, 1, 0, nameAltParam), | ||||
|  | ||||
| #define CFGDEFDATA_OPTION_OPTIONAL_PREFIX(prefixParam)                                                                             \ | ||||
|     CFGDATA_OPTION_OPTIONAL_PUSH_LIST(configDefDataTypePrefix, 1, 0, prefixParam), | ||||
|  | ||||
| @@ -156,6 +153,9 @@ typedef enum | ||||
| #define CFGDEFDATA_OPTION_OPTIONAL_REQUIRED(commandOptionRequired)                                                                 \ | ||||
|     CFGDATA_OPTION_OPTIONAL_PUSH(configDefDataTypeRequired, 0, commandOptionRequired), | ||||
|  | ||||
| #define CFGDEFDATA_OPTION_OPTIONAL_HELP_NAME_ALT(...)                                                                              \ | ||||
|     CFGDATA_OPTION_OPTIONAL_PUSH_LIST(                                                                                             \ | ||||
|         configDefDataTypeHelpNameAlt, sizeof((const char *[]){__VA_ARGS__}) / sizeof(const char *), 0, __VA_ARGS__), | ||||
| #define CFGDEFDATA_OPTION_OPTIONAL_HELP_SUMMARY(helpSummaryParam)                                                                  \ | ||||
|     CFGDATA_OPTION_OPTIONAL_PUSH_LIST(configDefDataTypeHelpSummary, 1, 0, helpSummaryParam), | ||||
| #define CFGDEFDATA_OPTION_OPTIONAL_HELP_DESCRIPTION(helpDescriptionParam)                                                          \ | ||||
| @@ -466,6 +466,42 @@ cfgDefOptionHelpDescription(ConfigDefineCommand commandDefId, ConfigDefineOption | ||||
|     return configDefineOptionData[optionDefId].helpDescription; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Option help name alt | ||||
| ***********************************************************************************************************************************/ | ||||
| bool | ||||
| cfgDefOptionHelpNameAlt(ConfigDefineOption optionDefId) | ||||
| { | ||||
|     cfgDefOptionCheck(optionDefId); | ||||
|  | ||||
|     CONFIG_DEFINE_DATA_FIND(-1, optionDefId, configDefDataTypeHelpNameAlt); | ||||
|  | ||||
|     return dataDefFound; | ||||
| } | ||||
|  | ||||
| const char * | ||||
| cfgDefOptionHelpNameAltValue(ConfigDefineOption optionDefId, int valueId) | ||||
| { | ||||
|     cfgDefOptionCheck(optionDefId); | ||||
|  | ||||
|     CONFIG_DEFINE_DATA_FIND(-1, optionDefId, configDefDataTypeHelpNameAlt); | ||||
|  | ||||
|     if (valueId < 0 || valueId >= dataDefListSize) | ||||
|         THROW(AssertError, "value id %d invalid - must be >= 0 and < %d", valueId, dataDefListSize); | ||||
|  | ||||
|     return (char *)dataDefList[valueId]; | ||||
| } | ||||
|  | ||||
| int | ||||
| cfgDefOptionHelpNameAltValueTotal(ConfigDefineOption optionDefId) | ||||
| { | ||||
|     cfgDefOptionCheck(optionDefId); | ||||
|  | ||||
|     CONFIG_DEFINE_DATA_FIND(-1, optionDefId, configDefDataTypeHelpNameAlt); | ||||
|  | ||||
|     return dataDefListSize; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Option help section | ||||
| ***********************************************************************************************************************************/ | ||||
| @@ -492,6 +528,19 @@ cfgDefOptionHelpSummary(ConfigDefineCommand commandDefId, ConfigDefineOption opt | ||||
|     return configDefineOptionData[optionDefId].helpSummary; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Get option id by name | ||||
| ***********************************************************************************************************************************/ | ||||
| int | ||||
| cfgDefOptionId(const char *optionName) | ||||
| { | ||||
|     for (ConfigDefineOption optionDefId = 0; optionDefId < cfgDefOptionTotal(); optionDefId++) | ||||
|         if (strcmp(optionName, configDefineOptionData[optionDefId].name) == 0) | ||||
|             return optionDefId; | ||||
|  | ||||
|     return -1; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Get total indexed values for option | ||||
| ***********************************************************************************************************************************/ | ||||
| @@ -522,22 +571,6 @@ cfgDefOptionName(ConfigDefineOption optionDefId) | ||||
|     return configDefineOptionData[optionDefId].name; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Alternate name for the option -- generally used for deprecation | ||||
| ***********************************************************************************************************************************/ | ||||
| const char * | ||||
| cfgDefOptionNameAlt(ConfigDefineOption optionDefId) | ||||
| { | ||||
|     cfgDefOptionCheck(optionDefId); | ||||
|  | ||||
|     CONFIG_DEFINE_DATA_FIND(-1, optionDefId, configDefDataTypeNameAlt); | ||||
|  | ||||
|     if (dataDefFound) | ||||
|         return (char *)dataDefList[0]; | ||||
|  | ||||
|     return NULL; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Can the option be negated? | ||||
| ***********************************************************************************************************************************/ | ||||
|   | ||||
| @@ -45,12 +45,15 @@ int cfgDefOptionDependValueTotal(ConfigDefineCommand commandDefId, ConfigDefineO | ||||
| bool cfgDefOptionDependValueValid(ConfigDefineCommand commandDefId, ConfigDefineOption optionDefId, const char *value); | ||||
| const char *cfgDefOptionDependValue(ConfigDefineCommand commandDefId, ConfigDefineOption optionDefId, int valueId); | ||||
| const char *cfgDefOptionHelpDescription(ConfigDefineCommand commandDefId, ConfigDefineOption optionDefId); | ||||
| bool cfgDefOptionHelpNameAlt(ConfigDefineOption optionDefId); | ||||
| const char *cfgDefOptionHelpNameAltValue(ConfigDefineOption optionDefId, int valueId); | ||||
| int cfgDefOptionHelpNameAltValueTotal(ConfigDefineOption optionDefId); | ||||
| const char *cfgDefOptionHelpSection(ConfigDefineOption optionDefId); | ||||
| const char *cfgDefOptionHelpSummary(ConfigDefineCommand commandDefId, ConfigDefineOption optionDefId); | ||||
| int cfgDefOptionId(const char *optionName); | ||||
| int cfgDefOptionIndexTotal(ConfigDefineOption optionDefId); | ||||
| bool cfgDefOptionInternal(ConfigDefineOption optionDefId); | ||||
| const char *cfgDefOptionName(ConfigDefineOption optionDefId); | ||||
| const char *cfgDefOptionNameAlt(ConfigDefineOption optionDefId); | ||||
| bool cfgDefOptionNegate(ConfigDefineOption optionDefId); | ||||
| const char *cfgDefOptionPrefix(ConfigDefineOption optionDefId); | ||||
| bool cfgDefOptionRequired(ConfigDefineCommand commandDefId, ConfigDefineOption optionDefId); | ||||
|   | ||||
| @@ -38,19 +38,20 @@ cfgLoad(int argListSize, const char *argList[]) | ||||
|             logInit(logLevelConsole, logLevelStdErr, logTimestamp); | ||||
|         } | ||||
|  | ||||
|         // Set default for backup-cmd | ||||
|         if (cfgOptionValid(cfgOptBackupHost) && cfgOption(cfgOptBackupHost) != NULL && | ||||
|             cfgOptionSource(cfgOptBackupCmd) == cfgSourceDefault) | ||||
|         // Set default for repo-host-cmd | ||||
|         if (cfgOptionValid(cfgOptRepoHost) && cfgOption(cfgOptRepoHost) != NULL && | ||||
|             cfgOptionSource(cfgOptRepoHostCmd) == cfgSourceDefault) | ||||
|         { | ||||
|             cfgOptionDefaultSet(cfgOptBackupCmd, varNewStr(cfgExe())); | ||||
|             cfgOptionDefaultSet(cfgOptRepoHostCmd, varNewStr(cfgExe())); | ||||
|         } | ||||
|  | ||||
|         if (cfgOptionValid(cfgOptDbCmd)) | ||||
|         // Set default for pg-host-cmd | ||||
|         if (cfgOptionValid(cfgOptPgHostCmd)) | ||||
|         { | ||||
|             for (int optionIdx = 0; optionIdx <= cfgOptionIndexTotal(cfgOptDbHost); optionIdx++) | ||||
|             for (int optionIdx = 0; optionIdx <= cfgOptionIndexTotal(cfgOptPgHost); optionIdx++) | ||||
|             { | ||||
|                 if (cfgOption(cfgOptDbHost + optionIdx) != NULL && cfgOptionSource(cfgOptDbCmd + optionIdx) == cfgSourceDefault) | ||||
|                     cfgOptionDefaultSet(cfgOptDbCmd + optionIdx, varNewStr(cfgExe())); | ||||
|                 if (cfgOption(cfgOptPgHost + optionIdx) != NULL && cfgOptionSource(cfgOptPgHostCmd + optionIdx) == cfgSourceDefault) | ||||
|                     cfgOptionDefaultSet(cfgOptPgHostCmd + optionIdx, varNewStr(cfgExe())); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -22,6 +22,9 @@ Parse option flags | ||||
| // Add a flag for negation rather than checking "-no-" | ||||
| #define PARSE_NEGATE_FLAG                                           (1 << 30) | ||||
|  | ||||
| // Indicate that option name has been deprecated and will be removed in a future release | ||||
| #define PARSE_DEPRECATE_FLAG                                        (1 << 29) | ||||
|  | ||||
| // Mask to exclude all flags and get at the actual option id (only 12 bits allowed for option id, the rest reserved for flags) | ||||
| #define PARSE_OPTION_MASK                                           0xFFF | ||||
|  | ||||
| @@ -41,6 +44,25 @@ typedef struct ParseOption | ||||
|     StringList *valueList;                                          // List of values found | ||||
| } ParseOption; | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Find an option by name in the option list | ||||
| ***********************************************************************************************************************************/ | ||||
| static unsigned int | ||||
| optionFind(const String *option) | ||||
| { | ||||
|     unsigned int optionIdx = 0; | ||||
|  | ||||
|     while (optionList[optionIdx].name != NULL) | ||||
|     { | ||||
|         if (strcmp(strPtr(option), optionList[optionIdx].name) == 0) | ||||
|             break; | ||||
|  | ||||
|         optionIdx++; | ||||
|     } | ||||
|  | ||||
|     return optionIdx; | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Parse the command-line arguments and config file to produce final config data | ||||
| ***********************************************************************************************************************************/ | ||||
| @@ -254,15 +276,7 @@ configParse(int argListSize, const char *argList[]) | ||||
|                             String *key = strLstGet(keyList, keyIdx); | ||||
|  | ||||
|                             // Find the optionName in the main list | ||||
|                             unsigned int optionIdx = 0; | ||||
|  | ||||
|                             while (optionList[optionIdx].name != NULL) | ||||
|                             { | ||||
|                                 if (strcmp(strPtr(key), optionList[optionIdx].name) == 0) | ||||
|                                     break; | ||||
|  | ||||
|                                 optionIdx++; | ||||
|                             } | ||||
|                             unsigned int optionIdx = optionFind(key); | ||||
|  | ||||
|                             // Warn if the option not found | ||||
|                             if (optionList[optionIdx].name == NULL) | ||||
|   | ||||
| @@ -48,9 +48,9 @@ Note that process-max is only applicable to the `synthetic` and `full` tests in | ||||
|  | ||||
| _Run Tests for a Specific OS, Module, Test, Process Max, and Database Version_: | ||||
| ``` | ||||
| /backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4 --db-version=9.4 | ||||
| /backrest/test/test.pl --vm=co6 --module=backup --test=full --process-max=4 --pg-version=9.4 | ||||
| ``` | ||||
| Note that db-version is only applicable to the `full` test in the `backup` module. | ||||
| Note that pg-version is only applicable to the `full` test in the `backup` module. | ||||
|  | ||||
| _Iterate All Possible Test Combinations_: | ||||
| ``` | ||||
|   | ||||
							
								
								
									
										20
									
								
								test/Vagrantfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								test/Vagrantfile
									
									
									
									
										vendored
									
									
								
							| @@ -5,7 +5,7 @@ Vagrant.configure(2) do |config| | ||||
|     end | ||||
|  | ||||
|     config.vm.box = "ubuntu/xenial64" | ||||
|     config.vm.box_version = "20170603.0.0" | ||||
|     config.vm.box_version = "20180126.0.0" | ||||
|  | ||||
|     # vagrant plugin install vagrant-disksize | ||||
|     # config.disksize.size = '64GB' | ||||
| @@ -60,15 +60,15 @@ Vagrant.configure(2) do |config| | ||||
|         pip install --upgrade awscli | ||||
|  | ||||
|         # Configure AWS CLI | ||||
|         sudo -i -u ubuntu aws configure set region us-east-1 | ||||
|         sudo -i -u ubuntu aws configure set aws_access_key_id accessKey1 | ||||
|         sudo -i -u ubuntu aws configure set aws_secret_access_key verySecretKey1 | ||||
|         sudo -i -u vagrant aws configure set region us-east-1 | ||||
|         sudo -i -u vagrant aws configure set aws_access_key_id accessKey1 | ||||
|         sudo -i -u vagrant aws configure set aws_secret_access_key verySecretKey1 | ||||
|  | ||||
|         # Create test alias for AWS CLI | ||||
|         echo '' >> /home/ubuntu/.profile | ||||
|         echo '# Test alias for AWS CLI' >> /home/ubuntu/.profile | ||||
|         echo '' >> /home/vagrant/.profile | ||||
|         echo '# Test alias for AWS CLI' >> /home/vagrant/.profile | ||||
|         echo 'alias s3-test="export PYTHONWARNINGS=ignore && aws s3 --endpoint-url=https://172.17.0.2 --no-verify-ssl"' \ | ||||
|             >> /home/ubuntu/.profile | ||||
|             >> /home/vagrant/.profile | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         echo 'Install Devel::Cover' && date | ||||
| @@ -81,7 +81,7 @@ Vagrant.configure(2) do |config| | ||||
|         add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | ||||
|         apt-get update | ||||
|         apt-get install -y docker-ce | ||||
|         sudo usermod -aG docker ubuntu | ||||
|         sudo usermod -aG docker vagrant | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         echo 'Install Dev Utilities' && date | ||||
| @@ -95,14 +95,14 @@ Vagrant.configure(2) do |config| | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         echo 'Create Postgres Group & pgBackRest User' && date | ||||
|         groupadd -g5000 postgres | ||||
|         adduser --uid=5001 --ingroup=ubuntu --disabled-password --gecos "" backrest | ||||
|         adduser --uid=5001 --ingroup=vagrant --disabled-password --gecos "" pgbackrest | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         echo 'Build VM Images' && date | ||||
|         rm -rf /backrest/test/.vagrant/docker/* | ||||
|         rm -rf /backrest/test/.vagrant/libc/* | ||||
|         rm -rf /backrest/test/.vagrant/package/* | ||||
|         sudo su - ubuntu -c '/backrest/test/test.pl --vm-build' | ||||
|         sudo su - vagrant -c '/backrest/test/test.pl --vm-build' | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         echo 'Build End' && date | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 001 - rmt 0, cmp 0, error version, s3 0, enc 0 | ||||
| stanza-create db - create required data for stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 002 - rmt 0, cmp 1, error version, s3 0, enc 1 | ||||
| stanza-create db - create required data for stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 003 - rmt 1, cmp 0, error version, s3 0, enc 0 | ||||
| stanza-create db - create required data for stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 004 - rmt 1, cmp 0, error connect, s3 0, enc 0 | ||||
| stanza-create db - create required data for stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
| @@ -42,11 +42,11 @@ db-version="9.4" | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --backup-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00  ERROR: [042]: remote process on 'bogus' terminated unexpectedly: ssh: Could not resolve hostname bogus: Name or service not known | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --backup-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003 | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00  ERROR: [042]: remote process on 'bogus' terminated unexpectedly: ssh: Could not resolve hostname bogus: Name or service not known | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 005 - rmt 1, cmp 1, error version, s3 0, enc 1 | ||||
| stanza-create db - create required data for stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 006 - rmt 1, cmp 1, error connect, s3 0, enc 1 | ||||
| stanza-create db - create required data for stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
| @@ -48,11 +48,11 @@ db-version="9.4" | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --backup-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00  ERROR: [042]: remote process on 'bogus' terminated unexpectedly: ssh: Could not resolve hostname bogus: Name or service not known | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --backup-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003 | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00  ERROR: [042]: remote process on 'bogus' terminated unexpectedly: ssh: Could not resolve hostname bogus: Name or service not known | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ run 007 - rmt 1, cmp 0, error connect, s3 1, enc 0 | ||||
| stanza-create db - create required data for stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -42,11 +42,11 @@ db-version="9.4" | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --backup-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00  ERROR: [042]: remote process on 'bogus' terminated unexpectedly: ssh: Could not resolve hostname bogus: Name or service not known | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --backup-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003 | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=warn --archive-queue-max=33554432 --stanza=db --repo1-host=bogus archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000003 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00  ERROR: [042]: remote process on 'bogus' terminated unexpectedly: ssh: Could not resolve hostname bogus: Name or service not known | ||||
|  | ||||
|   | ||||
| @@ -297,7 +297,7 @@ db-version="9.2" | ||||
| Nothing to expire | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=full --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00 DETAIL: archive retention on backup [BACKUP-FULL-1], archiveId = 9.2-1, start = 000000010000000000000000 | ||||
| P00 DETAIL: no archive to remove, archiveId = 9.2-1 | ||||
| P00   INFO: expire command end: completed successfully | ||||
| @@ -896,7 +896,7 @@ db-version="9.2" | ||||
| Expire oldest full backup, archive expire falls on segment major boundary | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=full --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire full backup set: [BACKUP-FULL-1], [BACKUP-INCR-1] | ||||
| P00   INFO: remove expired backup [BACKUP-INCR-1] | ||||
| P00   INFO: remove expired backup [BACKUP-FULL-1] | ||||
| @@ -1258,7 +1258,7 @@ db-version="9.2" | ||||
| Expire oldest full backup | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=full --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire diff backup [BACKUP-DIFF-1] | ||||
| P00   INFO: remove expired backup [BACKUP-DIFF-1] | ||||
| P00 DETAIL: archive retention on backup [BACKUP-FULL-2], archiveId = 9.2-1, start = 000000010000000100000000 | ||||
| @@ -1907,7 +1907,7 @@ db-version="9.2" | ||||
| Expire oldest diff backup, archive expire does not fall on major segment boundary | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=diff --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire full backup set: [BACKUP-FULL-2], [BACKUP-DIFF-2] | ||||
| P00   INFO: remove expired backup [BACKUP-DIFF-2] | ||||
| P00   INFO: remove expired backup [BACKUP-FULL-2] | ||||
| @@ -2025,7 +2025,7 @@ db-version="9.2" | ||||
| Expire oldest diff backup (cascade to incr) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=diff --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire diff backup set: [BACKUP-DIFF-3], [BACKUP-INCR-2] | ||||
| P00   INFO: remove expired backup [BACKUP-INCR-2] | ||||
| P00   INFO: remove expired backup [BACKUP-DIFF-3] | ||||
| @@ -2134,7 +2134,7 @@ db-version="9.2" | ||||
| Expire archive based on newest incr backup | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=incr --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=incr --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=incr --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00 DETAIL: archive retention on backup [BACKUP-FULL-3], archiveId = 9.2-1, start = 000000010000000200000010, stop = 000000010000000200000012 | ||||
| P00 DETAIL: archive retention on backup [BACKUP-DIFF-4], archiveId = 9.2-1, start = 00000001000000020000001E, stop = 000000010000000200000020 | ||||
| P00 DETAIL: archive retention on backup [BACKUP-INCR-3], archiveId = 9.2-1, start = 000000010000000200000024 | ||||
| @@ -2269,7 +2269,7 @@ db-version="9.2" | ||||
| Expire diff treating full as diff | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=2 --retention-diff=1 --retention-archive-type=diff --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire full backup set: [BACKUP-FULL-3], [BACKUP-DIFF-4], [BACKUP-INCR-3] | ||||
| P00   INFO: expire diff backup [BACKUP-DIFF-5] | ||||
| P00   INFO: remove expired backup [BACKUP-DIFF-5] | ||||
| @@ -2400,7 +2400,7 @@ db-version="9.2" | ||||
| Expire diff with retention-archive with warning retention-diff not set | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-archive-type=diff --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --stanza=db | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   WARN: option 'retention-diff' is not set for 'retention-archive-type=diff'  | ||||
| @@ -2554,7 +2554,7 @@ db-version="9.2" | ||||
| Expire full with retention-archive with warning retention-full not set | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-archive-type=full --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=full --stanza=db | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00 DETAIL: archive retention on backup [BACKUP-FULL-4], archiveId = 9.2-1, start = 00000001000000020000002A, stop = 00000001000000020000002C | ||||
| @@ -2718,7 +2718,7 @@ db-version="9.2" | ||||
| Expire no archive with warning since retention-archive not set for INCR | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=1 --retention-diff=1 --retention-archive-type=incr expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive-type=incr --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive-type=incr --retention-diff=1 --retention-full=1 --stanza=db | ||||
| P00   WARN: WAL segments will not be expired: option 'retention-archive-type=incr' but option 'retention-archive' is not set | ||||
| P00   INFO: expire full backup [BACKUP-FULL-4] | ||||
| P00   INFO: expire full backup [BACKUP-FULL-5] | ||||
| @@ -2893,7 +2893,7 @@ db-version="9.2" | ||||
| Expire no archive with warning since neither retention-archive nor retention-diff is set | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-archive-type=diff expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive-type=diff --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive-type=diff --stanza=db | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   WARN: WAL segments will not be expired: option 'retention-archive-type=diff' but neither option 'retention-archive' nor option 'retention-diff' is set | ||||
| @@ -3079,7 +3079,7 @@ db-version="9.2" | ||||
| Use oldest full backup for archive retention | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=10 --retention-diff=10 --retention-archive-type=full --retention-archive=10 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=10 --retention-archive-type=full --retention-diff=10 --retention-full=10 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=10 --retention-archive-type=full --retention-diff=10 --retention-full=10 --stanza=db | ||||
| P00   INFO: full backup total < 10 - using oldest full backup for 9.2-1 archive retention | ||||
| P00 DETAIL: archive retention on backup [BACKUP-FULL-8], archiveId = 9.2-1, start = 000000010000000200000054 | ||||
| P00 DETAIL: remove archive: archiveId = 9.2-1, start = 00000001000000020000002A, stop = 000000010000000200000050 | ||||
|   | ||||
| @@ -63,7 +63,7 @@ db-version="9.2" | ||||
| Create backups in current db version | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-archive-type=diff expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive-type=diff --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive-type=diff --stanza=db | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   WARN: WAL segments will not be expired: option 'retention-archive-type=diff' but neither option 'retention-archive' nor option 'retention-diff' is set | ||||
| @@ -469,7 +469,7 @@ db-version="9.3" | ||||
| Upgrade stanza and expire only earliest db backup and archive | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=3 --retention-archive-type=full expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive-type=full --retention-full=3 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive-type=full --retention-full=3 --stanza=db | ||||
| P00   INFO: expire full backup set: [BACKUP-FULL-1], [BACKUP-INCR-1] | ||||
| P00   INFO: remove expired backup [BACKUP-INCR-1] | ||||
| P00   INFO: remove expired backup [BACKUP-FULL-1] | ||||
| @@ -1137,7 +1137,7 @@ db-version="10" | ||||
| Upgrade the stanza, create full back - earliest db orphaned archive removed and earliest full backup and archive in previous db version removed | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=2 --retention-archive-type=full expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive-type=full --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive-type=full --retention-full=2 --stanza=db | ||||
| P00   INFO: expire full backup [BACKUP-FULL-2] | ||||
| P00   INFO: expire full backup set: [BACKUP-FULL-3], [BACKUP-INCR-2] | ||||
| P00   INFO: remove expired backup [BACKUP-INCR-2] | ||||
| @@ -1287,7 +1287,7 @@ db-version="10" | ||||
| Expire all archive last full backup through pitr | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=3 --retention-diff=1 --retention-archive-type=diff --retention-archive=1 expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=3 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=1 --retention-archive-type=diff --retention-diff=1 --retention-full=3 --stanza=db | ||||
| P00   INFO: expire diff backup [BACKUP-DIFF-1] | ||||
| P00   INFO: remove expired backup [BACKUP-DIFF-1] | ||||
| P00 DETAIL: archive retention on backup [BACKUP-FULL-4], archiveId = 9.3-2, start = 0000000100000000000000FF | ||||
| @@ -1430,7 +1430,7 @@ db-version="10" | ||||
| Expire all archive except for the current database | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config="[TEST_PATH]/db-master/pgbackrest.conf" --stanza=db --log-level-console=detail --retention-full=2 --retention-archive-type=full expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive-type=full --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive-type=full --retention-full=2 --stanza=db | ||||
| P00   INFO: expire full backup [BACKUP-FULL-4] | ||||
| P00   INFO: remove expired backup [BACKUP-FULL-4] | ||||
| P00   INFO: remove archive path: [TEST_PATH]/db-master/repo/archive/db/9.3-2 | ||||
|   | ||||
| @@ -14,7 +14,7 @@ info all stanzas - no stanzas exist (db-master host) | ||||
| stanza-create db - create required data for stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -52,7 +52,7 @@ db-version="9.4" | ||||
| full backup - error on identical link destinations (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [070]: link [TEST_PATH]/db-master/db/base/postgresql.conf (../pg_config) references a subdirectory of or the same directory as link [TEST_PATH]/db-master/db/base/pg_config_bad (../../db/pg_config) | ||||
| @@ -61,16 +61,16 @@ P00   INFO: backup command end: aborted with exception [070] | ||||
| full backup - error on link to a link (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [070]: link '[TEST_PATH]/db-master/db/base/postgresql.conf.bad' -> '../pg_config/postgresql.conf.link' cannot reference another link | ||||
| P00   INFO: backup command end: aborted with exception [070] | ||||
|  | ||||
| full backup - create pg_stat link, pg_clog dir (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --manifest-save-threshold=3 --buffer-size=16384 --checksum-page --process-max=1 --repo-type=cifs --type=full --stanza=db backup | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --manifest-save-threshold=3 --buffer-size=16384 --checksum-page --process-max=1 --repo1-type=cifs --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --buffer-size=16384 --checksum-page --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --manifest-save-threshold=3 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --repo-type=cifs --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --buffer-size=16384 --checksum-page --no-compress --compress-level=3 --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 --manifest-save-threshold=3 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --process-max=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --repo1-type=cifs --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -162,8 +162,8 @@ P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam | ||||
| P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam = ([TEST_PATH]/db-master/db/base/base/1/PG_VERSION, pg_data/base/1/PG_VERSION, 3, [undef], 0, [BACKUP-FULL-1], 0, 3, [MODIFICATION-TIME-1], 1, [undef]), rParamSecure = [undef], strKey = pg_data/base/1/PG_VERSION, strOp = backupFile, strQueue = pg_data | ||||
| P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam = ([TEST_PATH]/db-master/db/base/PG_VERSION, pg_data/PG_VERSION, 3, [undef], 0, [BACKUP-FULL-1], 0, 3, [MODIFICATION-TIME-1], 1, [undef]), rParamSecure = [undef], strKey = pg_data/PG_VERSION, strOp = backupFile, strQueue = pg_data | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect: start local process: iHostConfigIdx = 1, iHostIdx = 0, iHostProcessIdx = 0, iProcessId = 1, strHostType = db | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --buffer-size=16384 --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --repo-type=cifs --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 16384, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --buffer-size=16384 --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --repo-type=cifs --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --buffer-size=16384 --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --repo1-type=cifs --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 16384, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --buffer-size=16384 --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --repo1-type=cifs --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect=>: bResult = true | ||||
| P00  DEBUG:     Protocol::Local::Process->init: init local process: iDirection = 1, iHostIdx = 0, iProcessId = 1, iQueueIdx = 0, iQueueLastIdx = 0 | ||||
| P00  DEBUG:     Protocol::Local::Process->init=>: bResult = true | ||||
| @@ -278,7 +278,7 @@ P00  DEBUG:     Storage::Local->openWrite(): bAtomic = <false>, bPathCreate = <f | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = [TEST_PATH]/db-master/repo/backup/db | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = <REPO:BACKUP> | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --buffer-size=16384 --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --repo-type=cifs --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --buffer-size=16384 --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --repo1-type=cifs --stanza=db | ||||
| P00  DEBUG:     Backup::Info->new(): bIgnoreMissing = <false>, bLoad = <true>, bRequired = <true>, bValidate = <true>, oStorage = <[object]>, strBackupClusterPath = [TEST_PATH]/db-master/repo/backup/db, strCipherPassSub = [undef] | ||||
| P00  DEBUG:     Storage::Local->encrypted(): bIgnoreMissing = true, strFileName = [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| P00  DEBUG:     Storage::Local->encrypted=>: bEncrypted = false | ||||
| @@ -315,7 +315,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -327,7 +327,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -444,13 +444,13 @@ full backup - invalid cmd line (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --type=full --stanza=bogus backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| STDERR: | ||||
| ERROR: [037]: backup command requires option: db1-path | ||||
| ERROR: [037]: backup command requires option: pg1-path | ||||
| HINT: does this stanza exist? | ||||
|  | ||||
| stop all stanzas (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --force stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --force --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 --repo-path=[TEST_PATH]/db-master/repo | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --force --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 --repo1-path=[TEST_PATH]/db-master/repo | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = [undef], oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = /, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathCreate(): bCreateParent = true, bIgnoreExists = true, strMode = 770, strPathExp = [TEST_PATH]/db-master/lock | ||||
| @@ -465,7 +465,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| full backup - abort backup - local (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --type=full --stanza=db backup --test --test-delay=5 --test-point=backup-start=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=5 --test-point=backup-start=y --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=5 --test-point=backup-start=y --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -548,7 +548,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 63 | ||||
| full backup - global stop (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -568,7 +568,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 62 | ||||
| stop db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = [undef], oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = /, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathCreate(): bCreateParent = true, bIgnoreExists = true, strMode = 770, strPathExp = [TEST_PATH]/db-master/lock | ||||
| @@ -582,7 +582,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stop db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = [undef], oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = /, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathCreate(): bCreateParent = true, bIgnoreExists = true, strMode = 770, strPathExp = [TEST_PATH]/db-master/lock | ||||
| @@ -597,7 +597,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| full backup - stanza stop (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -617,7 +617,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 62 | ||||
| start db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db start | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Common::Exit::exitSafe(): iExitCode = 0, oException = [undef], strSignal = [undef] | ||||
| P00  DEBUG:     Protocol::Helper::protocolDestroy(): bComplete = true, iRemoteIdx = [undef], strRemoteType = [undef] | ||||
| P00  DEBUG:     Protocol::Helper::protocolDestroy=>: iExitStatus = 0 | ||||
| @@ -628,7 +628,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| start all stanzas (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf start | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo | ||||
| P00  DEBUG:     Common::Exit::exitSafe(): iExitCode = 0, oException = [undef], strSignal = [undef] | ||||
| P00  DEBUG:     Protocol::Helper::protocolDestroy(): bComplete = true, iRemoteIdx = [undef], strRemoteType = [undef] | ||||
| P00  DEBUG:     Protocol::Helper::protocolDestroy=>: iExitStatus = 0 | ||||
| @@ -639,7 +639,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| start all stanzas (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf start | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo | ||||
| P00   WARN: stop file does not exist | ||||
| P00  DEBUG:     Common::Exit::exitSafe(): iExitCode = 0, oException = [undef], strSignal = [undef] | ||||
| P00  DEBUG:     Protocol::Helper::protocolDestroy(): bComplete = true, iRemoteIdx = [undef], strRemoteType = [undef] | ||||
| @@ -651,7 +651,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| full backup - resume (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --force --checksum-page --type=full --stanza=db backup --test --test-delay=0.2 --test-point=backup-resume=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --checksum-page --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-resume=y --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --checksum-page --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-resume=y --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -772,8 +772,8 @@ P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam | ||||
| P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam = ([TEST_PATH]/db-master/db/base/base/1/PG_VERSION, pg_data/base/1/PG_VERSION, 3, 184473f470864e067ee3a22e64b47b0a1c356f29, 0, [BACKUP-FULL-2], 0, 3, [MODIFICATION-TIME-1], 1, [undef]), rParamSecure = [undef], strKey = pg_data/base/1/PG_VERSION, strOp = backupFile, strQueue = pg_data | ||||
| P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam = ([TEST_PATH]/db-master/db/base/PG_VERSION, pg_data/PG_VERSION, 3, [undef], 0, [BACKUP-FULL-2], 0, 3, [MODIFICATION-TIME-1], 1, [undef]), rParamSecure = [undef], strKey = pg_data/PG_VERSION, strOp = backupFile, strQueue = pg_data | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect: start local process: iHostConfigIdx = 1, iHostIdx = 0, iHostProcessIdx = 0, iProcessId = 1, strHostType = db | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect=>: bResult = true | ||||
| P00  DEBUG:     Protocol::Local::Process->init: init local process: iDirection = 1, iHostIdx = 0, iProcessId = 1, iQueueIdx = 0, iQueueLastIdx = 0 | ||||
| P00  DEBUG:     Protocol::Local::Process->init=>: bResult = true | ||||
| @@ -839,7 +839,7 @@ P00  DEBUG:     Storage::Local->openWrite(): bAtomic = <false>, bPathCreate = <f | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = [TEST_PATH]/db-master/repo/backup/db | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = <REPO:BACKUP> | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Backup::Info->new(): bIgnoreMissing = <false>, bLoad = <true>, bRequired = <true>, bValidate = <true>, oStorage = <[object]>, strBackupClusterPath = [TEST_PATH]/db-master/repo/backup/db, strCipherPassSub = [undef] | ||||
| P00  DEBUG:     Storage::Local->encrypted(): bIgnoreMissing = true, strFileName = [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| P00  DEBUG:     Storage::Local->encrypted=>: bEncrypted = false | ||||
| @@ -876,7 +876,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -888,7 +888,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -1002,18 +1002,18 @@ db-version="9.4" | ||||
| 1={"db-catalog-version":201409291,"db-control-version":942,"db-system-id":1000000000000000094,"db-version":"9.4"} | ||||
|  | ||||
| full backup - invalid repo (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --repo-path=/bogus_path  --log-level-console=detail --type=full --stanza=db backup | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --repo1-path=/bogus_path  --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=/bogus_path --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/bogus_path --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [073]: repo-path '/bogus_path' does not exist | ||||
| P00  ERROR: [073]: repo1-path '/bogus_path' does not exist | ||||
| P00   INFO: backup command end: aborted with exception [073] | ||||
|  | ||||
| restore delta, backup '[BACKUP-FULL-2]' - add and delete files (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --set=[BACKUP-FULL-2]  --link-all  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --link-all --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --link-all --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [hash], lBufferMax = 4194304, oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/repo, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathExists(): strPathExp =  | ||||
| @@ -1210,8 +1210,8 @@ P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam | ||||
| P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam = ([TEST_PATH]/db-master/db/base/base/1/PG_VERSION, 3, [MODIFICATION-TIME-1], 184473f470864e067ee3a22e64b47b0a1c356f29, 0, 0, pg_data/base/1/PG_VERSION, [undef], 0660, root, [USER-1], [MODIFICATION-TIME-3], 1, [BACKUP-FULL-2], 0), rParamSecure = [undef], strKey = pg_data/base/1/PG_VERSION, strOp = restoreFile, strQueue = pg_data | ||||
| P00  DEBUG:     Protocol::Local::Process->queueJob(): iHostConfigIdx = 1, rParam = ([TEST_PATH]/db-master/db/base/PG_VERSION, 3, [MODIFICATION-TIME-1], 184473f470864e067ee3a22e64b47b0a1c356f29, 0, 0, pg_data/PG_VERSION, [undef], 0600, [USER-1], [GROUP-1], [MODIFICATION-TIME-3], 1, [BACKUP-FULL-2], 0), rParamSecure = [undef], strKey = pg_data/PG_VERSION, strOp = restoreFile, strQueue = pg_data | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect: start local process: iHostConfigIdx = 1, iHostIdx = 0, iHostProcessIdx = 0, iProcessId = 1, strHostType = backup | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=restore --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=backup local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=restore --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=backup local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=restore --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=backup local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=restore --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=backup local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect=>: bResult = true | ||||
| P00  DEBUG:     Protocol::Local::Process->init: init local process: iDirection = 1, iHostIdx = 0, iProcessId = 1, iQueueIdx = 0, iQueueLastIdx = 0 | ||||
| P00  DEBUG:     Protocol::Local::Process->init=>: bResult = true | ||||
| @@ -1292,7 +1292,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| restore delta, backup '[BACKUP-FULL-2]' - fix permissions (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --set=[BACKUP-FULL-2]  --link-all --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --link-all --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --link-all --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore backup set [BACKUP-FULL-2] | ||||
| P00   WARN: backup group for pg_data/base/16384/PG_VERSION was not mapped to a name, set to [GROUP-1] | ||||
| P00   WARN: backup user for pg_data/base/1/PG_VERSION was not mapped to a name, set to [USER-1] | ||||
| @@ -1328,7 +1328,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| restore delta, backup '[BACKUP-FULL-2]' - fix broken symlink (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --set=[BACKUP-FULL-2]  --link-all --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --link-all --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --link-all --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore backup set [BACKUP-FULL-2] | ||||
| P00   WARN: backup group for pg_data/base/16384/PG_VERSION was not mapped to a name, set to [GROUP-1] | ||||
| P00   WARN: backup user for pg_data/base/1/PG_VERSION was not mapped to a name, set to [USER-1] | ||||
| @@ -1363,7 +1363,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| restore delta, backup '[BACKUP-FULL-2]' - restore all links by mapping (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --set=[BACKUP-FULL-2] --log-level-console=detail --link-map=pg_stat=../pg_stat --link-map=postgresql.conf=../pg_config/postgresql.conf  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --link-map=pg_stat=../pg_stat --link-map=postgresql.conf=../pg_config/postgresql.conf --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --link-map=pg_stat=../pg_stat --link-map=postgresql.conf=../pg_config/postgresql.conf --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore backup set [BACKUP-FULL-2] | ||||
| P00   WARN: backup group for pg_data/base/16384/PG_VERSION was not mapped to a name, set to [GROUP-1] | ||||
| P00   WARN: backup user for pg_data/base/1/PG_VERSION was not mapped to a name, set to [USER-1] | ||||
| @@ -1427,7 +1427,7 @@ P00  ERROR: [038]: unable to restore while PostgreSQL is running | ||||
| restore delta, backup '[BACKUP-FULL-2]' - restore all links --link-all and mapping (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --set=[BACKUP-FULL-2] --log-level-console=detail --link-map=pg_stat=../pg_stat  --link-all  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --link-all --link-map=pg_stat=../pg_stat --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --link-all --link-map=pg_stat=../pg_stat --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore backup set [BACKUP-FULL-2] | ||||
| P00   WARN: backup group for pg_data/base/16384/PG_VERSION was not mapped to a name, set to [GROUP-1] | ||||
| P00   WARN: backup user for pg_data/base/1/PG_VERSION was not mapped to a name, set to [USER-1] | ||||
| @@ -1459,7 +1459,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| restore delta, force, backup '[BACKUP-FULL-2]', expect exit 40 - fail on missing PG_VERSION (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --force --set=[BACKUP-FULL-2] --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --force --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --force --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   WARN: --delta or --force specified but unable to find 'PG_VERSION' or 'backup.manifest' in '[TEST_PATH]/db-master/db/base' to confirm that this is a valid $PGDATA directory.  --delta and --force have been disabled and if any files exist in the destination directories the restore will be aborted. | ||||
| P00   INFO: restore backup set [BACKUP-FULL-2] | ||||
| P00   WARN: backup group for pg_data/base/16384/PG_VERSION was not mapped to a name, set to [GROUP-1] | ||||
| @@ -1473,7 +1473,7 @@ P00   INFO: restore command end: aborted with exception [040] | ||||
| restore delta, force, backup '[BACKUP-FULL-2]' - restore succeeds with backup.manifest file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --force --set=[BACKUP-FULL-2] --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --delta --force --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --force --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-FULL-2] --stanza=db | ||||
| P00   INFO: restore backup set [BACKUP-FULL-2] | ||||
| P00   WARN: backup group for pg_data/base/16384/PG_VERSION was not mapped to a name, set to [GROUP-1] | ||||
| P00   WARN: group bogus in manifest cannot be used for restore, set to [USER-1] | ||||
| @@ -1510,7 +1510,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| incr backup - invalid database version (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [051]: database version = 9.4, system-id 1000000000000000094 does not match backup version = 8.0, system-id = 1000000000000000094 | ||||
| @@ -1520,7 +1520,7 @@ P00   INFO: backup command end: aborted with exception [051] | ||||
| incr backup - invalid system id (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [051]: database version = 9.4, system-id 1000000000000000094 does not match backup version = 9.4, system-id = 6999999999999999999 | ||||
| @@ -1530,7 +1530,7 @@ P00   INFO: backup command end: aborted with exception [051] | ||||
| incr backup - invalid control version (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [051]: database control-version = 942, catalog-version 201409291 does not match backup control-version = 842, catalog-version = 201409291 | ||||
| @@ -1540,7 +1540,7 @@ P00   INFO: backup command end: aborted with exception [051] | ||||
| incr backup - invalid catalog version (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [051]: database control-version = 942, catalog-version 201409291 does not match backup control-version = 942, catalog-version = 197208141 | ||||
| @@ -1550,7 +1550,7 @@ P00   INFO: backup command end: aborted with exception [051] | ||||
| incr backup - invalid path in pg_tblspc (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1561,7 +1561,7 @@ P00   INFO: backup command end: aborted with exception [069] | ||||
| incr backup - invalid relative tablespace is ../ (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1572,7 +1572,7 @@ P00   INFO: backup command end: aborted with exception [071] | ||||
| incr backup - invalid relative tablespace is .. (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1583,7 +1583,7 @@ P00   INFO: backup command end: aborted with exception [071] | ||||
| incr backup - invalid relative tablespace is ../../$PGDATA (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1594,7 +1594,7 @@ P00   INFO: backup command end: aborted with exception [071] | ||||
| incr backup - invalid relative tablespace is ../../$PGDATA (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1605,7 +1605,7 @@ P00   INFO: backup command end: aborted with exception [071] | ||||
| incr backup - tablespace link references a link (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1616,7 +1616,7 @@ P00   INFO: backup command end: aborted with exception [070] | ||||
| incr backup - invalid relative tablespace in $PGDATA (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1627,7 +1627,7 @@ P00   INFO: backup command end: aborted with exception [071] | ||||
| incr backup - $PGDATA is a substring of valid tblspc excluding / (file missing err expected) (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1638,7 +1638,7 @@ P00   INFO: backup command end: aborted with exception [055] | ||||
| incr backup - invalid tablespace in $PGDATA (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -1649,7 +1649,7 @@ P00   INFO: backup command end: aborted with exception [071] | ||||
| incr backup - add tablespace 1 (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --test --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -1753,8 +1753,8 @@ P00  DEBUG:     Backup::Backup->processManifest: reference pg_data/base/16384/PG | ||||
| P00  DEBUG:     Backup::Backup->processManifest: reference pg_data/base/1/PG_VERSION to [BACKUP-FULL-2] | ||||
| P00  DEBUG:     Backup::Backup->processManifest: reference pg_data/PG_VERSION to [BACKUP-FULL-2] | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect: start local process: iHostConfigIdx = 1, iHostIdx = 0, iHostProcessIdx = 0, iProcessId = 1, strHostType = db | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect=>: bResult = true | ||||
| P00  DEBUG:     Protocol::Local::Process->init: init local process: iDirection = 1, iHostIdx = 0, iProcessId = 1, iQueueIdx = 0, iQueueLastIdx = 1 | ||||
| P00  DEBUG:     Protocol::Local::Process->init=>: bResult = true | ||||
| @@ -1791,7 +1791,7 @@ P00  DEBUG:     Storage::Local->openWrite(): bAtomic = <false>, bPathCreate = <f | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = [TEST_PATH]/db-master/repo/backup/db | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = <REPO:BACKUP> | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Backup::Info->new(): bIgnoreMissing = <false>, bLoad = <true>, bRequired = <true>, bValidate = <true>, oStorage = <[object]>, strBackupClusterPath = [TEST_PATH]/db-master/repo/backup/db, strCipherPassSub = [undef] | ||||
| P00  DEBUG:     Storage::Local->encrypted(): bIgnoreMissing = true, strFileName = [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| P00  DEBUG:     Storage::Local->encrypted=>: bEncrypted = false | ||||
| @@ -1836,7 +1836,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -1848,7 +1848,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -1970,7 +1970,7 @@ db-version="9.4" | ||||
| incr backup - resume and add tablespace 2 (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --process-max=1 --stanza=db backup --test --test-delay=0.2 --test-point=backup-resume=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-resume=y | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --process-max=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-resume=y | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| @@ -2101,8 +2101,8 @@ P00  DEBUG:     Backup::Backup->processManifest: reference pg_data/base/16384/PG | ||||
| P00  DEBUG:     Backup::Backup->processManifest: reference pg_data/base/1/PG_VERSION to [BACKUP-FULL-2] | ||||
| P00  DEBUG:     Backup::Backup->processManifest: reference pg_data/PG_VERSION to [BACKUP-FULL-2] | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect: start local process: iHostConfigIdx = 1, iHostIdx = 0, iHostProcessIdx = 0, iProcessId = 1, strHostType = db | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --process=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Master->new(): iProcessIdx = 1, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 3, iProtocolTimeout = 60, strCommand = [BACKREST-BIN] --command=backup --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --host-id=1 --lock-path=[TEST_PATH]/db-master/lock --log-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --process=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --type=db local, strId = local-1 process, strName = local | ||||
| P00  DEBUG:     Protocol::Local::Process->hostConnect=>: bResult = true | ||||
| P00  DEBUG:     Protocol::Local::Process->init: init local process: iDirection = 1, iHostIdx = 0, iProcessId = 1, iQueueIdx = 0, iQueueLastIdx = 2 | ||||
| P00  DEBUG:     Protocol::Local::Process->init=>: bResult = true | ||||
| @@ -2143,7 +2143,7 @@ P00  DEBUG:     Storage::Local->openWrite(): bAtomic = <false>, bPathCreate = <f | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = [TEST_PATH]/db-master/repo/backup/db | ||||
| P00  DEBUG:     Storage::Local->pathSync(): bRecurse = <false>, strPathExp = <REPO:BACKUP> | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Backup::Info->new(): bIgnoreMissing = <false>, bLoad = <true>, bRequired = <true>, bValidate = <true>, oStorage = <[object]>, strBackupClusterPath = [TEST_PATH]/db-master/repo/backup/db, strCipherPassSub = [undef] | ||||
| P00  DEBUG:     Storage::Local->encrypted(): bIgnoreMissing = true, strFileName = [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| P00  DEBUG:     Storage::Local->encrypted=>: bEncrypted = false | ||||
| @@ -2188,7 +2188,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -2200,7 +2200,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -2332,7 +2332,7 @@ db-version="9.4" | ||||
| diff backup - cannot resume - new diff (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --process-max=1 --type=diff --stanza=db backup --test --test-delay=0.2 --test-point=backup-noresume=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-noresume=y --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --process-max=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-noresume=y --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   WARN: backup [BACKUP-INCR-2] missing manifest removed from backup.info | ||||
| @@ -2348,14 +2348,14 @@ P00   WARN: page misalignment in file [TEST_PATH]/db-master/db/base/pg_tblspc/1/ | ||||
| P00   INFO: diff backup size = 25B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-1] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -2367,7 +2367,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -2495,7 +2495,7 @@ db-version="9.4" | ||||
| diff backup - cannot resume - disabled / no repo link (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --no-resume --log-level-console=detail --process-max=1 --type=diff --stanza=db backup --test --test-delay=0.2 --test-point=backup-noresume=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --no-resume --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-noresume=y --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --process-max=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --no-resume --stanza=db --start-fast --test --test-delay=0.2 --test-point=backup-noresume=y --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   WARN: backup [BACKUP-DIFF-1] missing manifest removed from backup.info | ||||
| @@ -2511,14 +2511,14 @@ P00   WARN: page misalignment in file [TEST_PATH]/db-master/db/base/pg_tblspc/1/ | ||||
| P00   INFO: diff backup size = 25B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-2] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -2530,7 +2530,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -2658,7 +2658,7 @@ db-version="9.4" | ||||
| restore, backup '[BACKUP-DIFF-2]', expect exit 40 - fail on used path (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --set=[BACKUP-DIFF-2] --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-DIFF-2] --stanza=db | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-DIFF-2] --stanza=db | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-2] | ||||
| P00 DETAIL: check [TEST_PATH]/db-master/db/base exists | ||||
| P00  ERROR: [040]: cannot restore to path '[TEST_PATH]/db-master/db/base' that contains files - try using --delta if this is what you intended | ||||
| @@ -2667,7 +2667,7 @@ P00   INFO: restore command end: aborted with exception [040] | ||||
| restore, backup '[BACKUP-DIFF-2]', remap - remap all paths (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --set=[BACKUP-DIFF-2] --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-DIFF-2] --stanza=db --tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-DIFF-2] --stanza=db --tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-2] | ||||
| P00   INFO: remap $PGDATA directory to [TEST_PATH]/db-master/db/base-2 | ||||
| P00   INFO: remap tablespace pg_tblspc/1 directory to [TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -2701,7 +2701,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| restore delta, backup '[BACKUP-DIFF-2]', remap - ensure file in tblspc root remains after --delta (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --set=[BACKUP-DIFF-2] --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --delta --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --set=[BACKUP-DIFF-2] --stanza=db --tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --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 --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --set=[BACKUP-DIFF-2] --stanza=db --tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-2] | ||||
| P00   INFO: remap $PGDATA directory to [TEST_PATH]/db-master/db/base-2 | ||||
| P00   INFO: remap tablespace pg_tblspc/1 directory to [TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -2739,7 +2739,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| incr backup - add files and remove tablespace 2 (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --process-max=1 --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --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 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --process-max=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-DIFF-2], version = [VERSION-1] | ||||
| @@ -2751,14 +2751,14 @@ P00   WARN: page misalignment in file [TEST_PATH]/db-master/db/base-2/base/base2 | ||||
| P00   INFO: incr backup size = 13B | ||||
| P00   INFO: new backup label = [BACKUP-INCR-3] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -2774,7 +2774,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -2899,7 +2899,7 @@ db-version="9.4" | ||||
| incr backup - update files - fail on missing backup.info (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00  ERROR: [055]: unable to open [TEST_PATH]/db-master/repo/backup/db/backup.info or [TEST_PATH]/db-master/repo/backup/db/backup.info.copy | ||||
| @@ -2910,7 +2910,7 @@ P00   INFO: backup command end: aborted with exception [055] | ||||
| stanza-create db - fail on backup directory missing backup.info (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [055]: backup information missing | ||||
|             HINT: use stanza-create --force to force the stanza data to be recreated. | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
| @@ -2933,7 +2933,7 @@ db-version="9.4" | ||||
| stanza-create db - create required data for stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -2976,7 +2976,7 @@ db-version="9.4" | ||||
| incr backup - update files (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-INCR-3], version = [VERSION-1] | ||||
| @@ -2986,14 +2986,14 @@ P00   WARN: page misalignment in file [TEST_PATH]/db-master/db/base-2/base/16384 | ||||
| P00   INFO: incr backup size = 8B | ||||
| P00   INFO: new backup label = [BACKUP-INCR-4] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -3009,7 +3009,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -3135,7 +3135,7 @@ db-version="9.4" | ||||
| diff backup - updates since last full (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --process-max=1 --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --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 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --process-max=1 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -3152,14 +3152,14 @@ P00   WARN: page misalignment in file [TEST_PATH]/db-master/db/base-2/pg_tblspc/ | ||||
| P00   INFO: diff backup size = 39B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-3] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -3175,7 +3175,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -3302,7 +3302,7 @@ db-version="9.4" | ||||
| incr backup - remove files - but won't affect manifest (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --stanza=db backup --test --test-delay=1 --test-point=manifest-build=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=1 --test-point=manifest-build=y | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=1 --test-point=manifest-build=y | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-DIFF-3], version = [VERSION-1] | ||||
| @@ -3312,14 +3312,14 @@ P00   TEST:         PgBaCkReStTeSt-MANIFEST-BUILD-PgBaCkReStTeSt | ||||
| P00   INFO: incr backup size = 0B | ||||
| P00   INFO: new backup label = [BACKUP-INCR-5] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -3335,7 +3335,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -3463,7 +3463,7 @@ db-version="9.4" | ||||
| diff backup - remove files during backup (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --process-max=1 --type=diff --stanza=db backup --test --test-delay=1 --test-point=manifest-build=y | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --db-timeout=45 --hardlink --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 --no-online --process-max=1 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=1 --test-point=manifest-build=y --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --process-max=1 --protocol-timeout=60 --repo1-hardlink --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --test --test-delay=1 --test-point=manifest-build=y --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-2], version = [VERSION-1] | ||||
| @@ -3480,14 +3480,14 @@ P00   WARN: page misalignment in file [TEST_PATH]/db-master/db/base-2/pg_tblspc/ | ||||
| P00   INFO: diff backup size = 31B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-4] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -3497,14 +3497,14 @@ tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| compress=y | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| hardlink=y | ||||
| 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 | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-hardlink=y | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -3631,7 +3631,7 @@ db-version="9.4" | ||||
| full backup - update file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --db-timeout=45 --hardlink --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-hardlink --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=full | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base-2/base/32768/33001 (64KB, 44%) checksum 6bf316f11d28c28914ea9be92c00de9bea6d9a6b | ||||
| @@ -3652,14 +3652,14 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base-2/pg_tblspc/2/[TS_PATH-1]/ | ||||
| P00   INFO: full backup size = 144KB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-3] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -3669,14 +3669,14 @@ tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| compress=y | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| hardlink=y | ||||
| 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 | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-hardlink=y | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -4147,7 +4147,7 @@ info db stanza - normal output (db-master host) | ||||
| expire full=1 (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=detail --retention-full=1  --stanza=db expire | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-full=1 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-full=1 --stanza=db | ||||
| P00   INFO: expire full backup set: [BACKUP-FULL-2], [BACKUP-DIFF-2], [BACKUP-INCR-3], [BACKUP-INCR-4], [BACKUP-DIFF-3], [BACKUP-INCR-5], [BACKUP-DIFF-4] | ||||
| P00   INFO: remove expired backup [BACKUP-DIFF-4] | ||||
| P00   INFO: remove expired backup [BACKUP-INCR-5] | ||||
| @@ -4161,7 +4161,7 @@ P00   INFO: expire command end: completed successfully | ||||
| diff backup - add file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=detail --checksum-page --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --checksum-page --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2 --db-timeout=45 --hardlink --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --checksum-page --compress --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-hardlink --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-3], version = [VERSION-1] | ||||
| @@ -4184,14 +4184,14 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base-2/base/base2.txt (9B, 100% | ||||
| P00   INFO: diff backup size = 9B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-5] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2 | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2 | ||||
|  | ||||
| [db:restore] | ||||
| tablespace-map=1=[TEST_PATH]/db-master/db/tablespace/ts1-2 | ||||
| @@ -4201,14 +4201,14 @@ tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| compress=y | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| hardlink=y | ||||
| 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 | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-hardlink=y | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -4332,7 +4332,7 @@ db-version="9.4" | ||||
| restore delta, remap - selective restore 16384 (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --log-level-console=detail --db-include=16384  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-include=16384=1 --db1-path=[TEST_PATH]/db-master/db/base-2 --delta --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-include=16384=1 --delta --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 --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-5] | ||||
| P00   INFO: remap tablespace pg_tblspc/2 directory to [TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00 DETAIL: check [TEST_PATH]/db-master/db/base-2 exists | ||||
| @@ -4369,7 +4369,7 @@ restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| restore delta, remap - selective restore 32768 (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --delta --log-level-console=detail --db-include=32768  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-include=32768=1 --db1-path=[TEST_PATH]/db-master/db/base-2 --delta --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-include=32768=1 --delta --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 --pg1-path=[TEST_PATH]/db-master/db/base-2 --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map=2=[TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-5] | ||||
| P00   INFO: remap tablespace pg_tblspc/2 directory to [TEST_PATH]/db-master/db/tablespace/ts2-2 | ||||
| P00 DETAIL: check [TEST_PATH]/db-master/db/base-2 exists | ||||
| @@ -4416,7 +4416,7 @@ P00  ERROR: [081]: system databases (template0, postgres, etc.) are included by | ||||
| restore, remap, expect exit 73 - no tablespace remap - error when tablespace dir does not exist (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --log-level-console=detail --tablespace-map-all=../../tablespace  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2/base --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map-all=../../tablespace | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --pg1-path=[TEST_PATH]/db-master/db/base-2/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map-all=../../tablespace | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-5] | ||||
| P00   INFO: remap $PGDATA directory to [TEST_PATH]/db-master/db/base-2/base | ||||
| P00   INFO: remap tablespace pg_tblspc/2 directory to ../../tablespace/ts2 | ||||
| @@ -4428,7 +4428,7 @@ P00   INFO: restore command end: aborted with exception [073] | ||||
| restore - no tablespace remap (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --tablespace-map-all=../../tablespace --log-level-console=detail  --stanza=db restore | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2/base --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map-all=../../tablespace | ||||
| P00   INFO: restore command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --pg1-path=[TEST_PATH]/db-master/db/base-2/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --tablespace-map-all=../../tablespace | ||||
| P00   INFO: restore backup set [BACKUP-DIFF-5] | ||||
| P00   INFO: remap $PGDATA directory to [TEST_PATH]/db-master/db/base-2/base | ||||
| P00   INFO: remap tablespace pg_tblspc/2 directory to ../../tablespace/ts2 | ||||
| @@ -4630,7 +4630,7 @@ diff backup - config file warning on local (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=info 2>&1 --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| WARN: '[TEST_PATH]/db-master/pgbackrest.conf' contains invalid option 'bogus' | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2/base --db-timeout=45 --hardlink --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2/base --protocol-timeout=60 --repo1-hardlink --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   INFO: last backup label = [BACKUP-FULL-3], version = [VERSION-1] | ||||
| @@ -4638,14 +4638,14 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base-2/base/base/base2.txt (9B, | ||||
| P00   INFO: diff backup size = 9B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-6] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2/base | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| @@ -4653,14 +4653,14 @@ db-path=[TEST_PATH]/db-master/db/base-2/base | ||||
| compress=y | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| hardlink=y | ||||
| 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 | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-hardlink=y | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -4786,7 +4786,7 @@ db-version="9.4" | ||||
| diff backup - option backup-standby reset - backup performed from master (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --no-online --log-level-console=info --backup-standby --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --backup-standby --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base-2/base --db-timeout=45 --hardlink --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --backup-standby --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base-2/base --protocol-timeout=60 --repo1-hardlink --repo1-path=[TEST_PATH]/db-master/repo --stanza=db --start-fast --type=diff | ||||
| P00   WARN: option retention-full is not set, the repository may run out of space | ||||
|             HINT: to retain full backups indefinitely (without warning), set option 'retention-full' to the maximum. | ||||
| P00   WARN: option backup-standby is enabled but standby is not properly configured - backups will be performed from the master | ||||
| @@ -4795,14 +4795,14 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base-2/base/base/base2.txt (9B, | ||||
| P00   INFO: diff backup size = 9B | ||||
| P00   INFO: new backup label = [BACKUP-DIFF-7] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --lock-path=[TEST_PATH]/db-master/lock --log-level-console=info --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/db-master/log --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: option 'retention-archive' is not set - archive logs will not be expired | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base-2/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base-2/base | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| @@ -4810,14 +4810,14 @@ db-path=[TEST_PATH]/db-master/db/base-2/base | ||||
| compress=y | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| hardlink=y | ||||
| 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 | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-hardlink=y | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -3,7 +3,7 @@ run 001 - rmt 0, s3 0, enc 1 | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [055]: unable to open [TEST_PATH]/db-master/repo/archive/db/archive.info or [TEST_PATH]/db-master/repo/archive/db/archive.info.copy | ||||
| P00  ERROR: [055]: archive.info does not exist but is required to push/get WAL segments | ||||
|             HINT: is archive_command configured in postgresql.conf? | ||||
| @@ -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 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [055]: unable to open [TEST_PATH]/db-master/repo/archive/db/archive.info or [TEST_PATH]/db-master/repo/archive/db/archive.info.copy | ||||
| P00  ERROR: [055]: archive.info does not exist but is required to push/get WAL segments | ||||
| @@ -25,7 +25,7 @@ P00   INFO: archive-get command end: aborted with exception [055] | ||||
| stanza-create db - stanza create (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -68,7 +68,7 @@ db-version="9.4" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push --log-level-console=debug [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -115,7 +115,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get --log-level-console=debug 000000010000000100000001 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Archive::Get::Get->process(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000001 | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00  DEBUG:     Archive::Get::Get->get(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000001 | ||||
| @@ -161,40 +161,40 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push --compress --archive-async --process-max=2 [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --archive-async --compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --process-max=2 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --spool-path=[TEST_PATH]/db-master/spool --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --archive-async --compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --process-max=2 --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --spool-path=[TEST_PATH]/db-master/spool --stanza=db | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002 asynchronously | ||||
| P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [044]: WAL segment version 9.4 does not match archive version 8.0 | ||||
|             HINT: are you archiving to the correct stanza? | ||||
| P00   INFO: archive-push command end: aborted with exception [044] | ||||
|  | ||||
| > [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]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00   INFO: archive-get command end: completed successfully | ||||
|  | ||||
| > [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]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [125]: unable to retrieve the archive id for database version '9.4' and system-id '1000000000000000094' | ||||
| P00   INFO: archive-get command end: aborted with exception [125] | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [044]: WAL segment system-id 1000000000000000094 does not match archive system-id 5000900090001855000 | ||||
|             HINT: are you archiving to the correct stanza? | ||||
| P00   INFO: archive-push command end: aborted with exception [044] | ||||
|  | ||||
| > [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]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [125]: unable to retrieve the archive id for database version '9.4' and system-id '1000000000000000094' | ||||
| P00   INFO: archive-get command end: aborted with exception [125] | ||||
| @@ -202,18 +202,18 @@ P00   INFO: archive-get command end: aborted with exception [125] | ||||
| stop db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stop command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [062]: stop file exists for stanza db | ||||
| P00   INFO: archive-push command end: aborted with exception [062] | ||||
|  | ||||
| > [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]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [062]: stop file exists for stanza db | ||||
| P00   INFO: archive-get command end: aborted with exception [062] | ||||
| @@ -221,12 +221,12 @@ P00   INFO: archive-get command end: aborted with exception [062] | ||||
| start db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db start | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: start command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   WARN: WAL segment 000000010000000100000002 already exists in the archive with the same checksum | ||||
|             HINT: this is valid in some recovery scenarios but may also indicate a problem. | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002 | ||||
| @@ -234,25 +234,25 @@ P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [045]: WAL segment 000000010000000100000002 already exists in the archive | ||||
| P00   INFO: archive-push command end: aborted with exception [045] | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get 000000010000000100000002 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: get WAL segment 000000010000000100000002 | ||||
| P00   INFO: archive-get command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002.partial | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002.partial | ||||
| P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002.partial | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   WARN: WAL segment 000000010000000100000002.partial already exists in the archive with the same checksum | ||||
|             HINT: this is valid in some recovery scenarios but may also indicate a problem. | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002.partial | ||||
| @@ -260,6 +260,6 @@ P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002.partial | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --no-compress --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [045]: WAL segment 000000010000000100000002.partial already exists in the archive | ||||
| P00   INFO: archive-push command end: aborted with exception [045] | ||||
|   | ||||
| @@ -3,7 +3,7 @@ run 002 - rmt 1, s3 0, enc 0 | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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]: raised from remote process on 'backup': archive.info does not exist but is required to push/get WAL segments | ||||
|             HINT: is archive_command configured in postgresql.conf? | ||||
|             HINT: has a stanza-create been performed? | ||||
| @@ -12,7 +12,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 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [055]: raised from remote process on 'backup': archive.info does not exist but is required to push/get WAL segments | ||||
|             HINT: is archive_command configured in postgresql.conf? | ||||
| @@ -23,7 +23,7 @@ P00   INFO: archive-get command end: aborted with exception [055] | ||||
| stanza-create db - stanza create (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-2] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-2] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
| @@ -60,7 +60,7 @@ db-version="9.4" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push --cmd-ssh=/usr/bin/ssh --log-level-console=debug [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --cmd-ssh=/usr/bin/ssh --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --cmd-ssh=/usr/bin/ssh --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 --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:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -68,9 +68,9 @@ P00  DEBUG:     Archive::Push::File::archivePushFile(): bCompress = false, iComp | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = <1>, strBackRestBin = [undef], strCommand = <archive-push>, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet: create (cached) remote protocol | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam(): iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = archive-push, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = /usr/bin/ssh, strHost = backup, strUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = /usr/bin/ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no backrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = /usr/bin/ssh, strHost = backup, strUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = /usr/bin/ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no pgbackrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Storage::Remote->new(): oProtocol = [object] | ||||
| P00  DEBUG:     Archive::Common::walInfo(): strWalFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Archive::Common::walInfo=>: strDbVersion = 9.4, ullDbSysId = 1000000000000000094 | ||||
| @@ -99,7 +99,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get --log-level-console=debug 000000010000000100000001 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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:     Archive::Get::Get->process(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000001 | ||||
| P00   INFO: get WAL segment 000000010000000100000001 | ||||
| P00  DEBUG:     Archive::Get::Get->get(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000001 | ||||
| @@ -108,9 +108,9 @@ P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = <1>, strBackRestBin = [undef], strCommand = <archive-get>, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet: create (cached) remote protocol | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam(): iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = archive-get, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no backrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-1] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no pgbackrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Storage::Remote->new(): oProtocol = [object] | ||||
| P00  DEBUG:     Archive::Base->getCheck(): bCheck = false, strDbVersion = [undef], strFile = 000000010000000100000001, ullDbSysId = [undef] | ||||
| P00  DEBUG:     Db::dbObjectGet(): bMasterOnly = true | ||||
| @@ -138,40 +138,40 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push --compress --archive-async --process-max=2 [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --archive-async --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --process-max=2 --protocol-timeout=60 --spool-path=[TEST_PATH]/db-master/spool --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --archive-async --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 --pg1-path=[TEST_PATH]/db-master/db/base --process-max=2 --protocol-timeout=60 --repo1-host=backup --repo1-host-cmd=[BACKREST-BIN] --repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf --repo1-host-user=[USER-1] --spool-path=[TEST_PATH]/db-master/spool --stanza=db | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002 asynchronously | ||||
| P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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: [044]: raised from remote process on 'backup': WAL segment version 9.4 does not match archive version 8.0 | ||||
|             HINT: are you archiving to the correct stanza? | ||||
| P00   INFO: archive-push command end: aborted with exception [044] | ||||
|  | ||||
| > [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]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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: get WAL segment 000000010000000100000001 | ||||
| P00   INFO: archive-get command end: completed successfully | ||||
|  | ||||
| > [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]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [125]: raised from remote process on 'backup': unable to retrieve the archive id for database version '9.4' and system-id '1000000000000000094' | ||||
| P00   INFO: archive-get command end: aborted with exception [125] | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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: [044]: raised from remote process on 'backup': WAL segment system-id 1000000000000000094 does not match archive system-id 5000900090001855000 | ||||
|             HINT: are you archiving to the correct stanza? | ||||
| P00   INFO: archive-push command end: aborted with exception [044] | ||||
|  | ||||
| > [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]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [125]: raised from remote process on 'backup': unable to retrieve the archive id for database version '9.4' and system-id '1000000000000000094' | ||||
| P00   INFO: archive-get command end: aborted with exception [125] | ||||
| @@ -179,18 +179,18 @@ P00   INFO: archive-get command end: aborted with exception [125] | ||||
| stop db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --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: stop command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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: [062]: stop file exists for stanza db | ||||
| P00   INFO: archive-push command end: aborted with exception [062] | ||||
|  | ||||
| > [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]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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: get WAL segment 000000010000000100000001 | ||||
| P00  ERROR: [062]: stop file exists for stanza db | ||||
| P00   INFO: archive-get command end: aborted with exception [062] | ||||
| @@ -198,12 +198,12 @@ P00   INFO: archive-get command end: aborted with exception [062] | ||||
| start db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db start | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --stanza=db | ||||
| P00   INFO: start command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --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: start command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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   WARN: WAL segment 000000010000000100000002 already exists in the archive with the same checksum | ||||
|             HINT: this is valid in some recovery scenarios but may also indicate a problem. | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002 | ||||
| @@ -211,25 +211,25 @@ P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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: [045]: WAL segment 000000010000000100000002 already exists in the archive | ||||
| P00   INFO: archive-push command end: aborted with exception [045] | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get --cmd-ssh=/usr/bin/ssh 000000010000000100000002 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --cmd-ssh=/usr/bin/ssh --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --cmd-ssh=/usr/bin/ssh --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 --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: get WAL segment 000000010000000100000002 | ||||
| P00   INFO: archive-get command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002.partial | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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: pushed WAL segment 000000010000000100000002.partial | ||||
| P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002.partial | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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   WARN: WAL segment 000000010000000100000002.partial already exists in the archive with the same checksum | ||||
|             HINT: this is valid in some recovery scenarios but may also indicate a problem. | ||||
| P00   INFO: pushed WAL segment 000000010000000100000002.partial | ||||
| @@ -237,6 +237,6 @@ P00   INFO: archive-push command end: completed successfully | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002.partial | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-1] --no-compress --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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: [045]: WAL segment 000000010000000100000002.partial already exists in the archive | ||||
| P00   INFO: archive-push command end: aborted with exception [045] | ||||
|   | ||||
| @@ -18,7 +18,7 @@ P00  ERROR: [055]: raised from remote process on 'backup': archive.info does not | ||||
| stanza-create db - stanza create (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
|   | ||||
| @@ -4,14 +4,14 @@ run 001 - remote 0, s3 0, enc 0 | ||||
| stanza-create db - fail on missing control file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [041]: unable to open [TEST_PATH]/db-master/db/base/global/pg_control | ||||
| P00   INFO: stanza-create command end: aborted with exception [041] | ||||
|  | ||||
| stanza-upgrade db - fail on stanza not initialized since archive.info is missing (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [055]: archive.info does not exist but is required to push/get WAL segments | ||||
|             HINT: is archive_command configured in postgresql.conf? | ||||
|             HINT: has a stanza-create been performed? | ||||
| @@ -22,7 +22,7 @@ P00   INFO: stanza-upgrade command end: aborted with exception [055] | ||||
| stanza-create db - successfully create the stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -60,7 +60,7 @@ db-version="9.3" | ||||
| stanza-create db - do not fail on rerun of stanza-create - info files exist and DB section ok (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create was already performed | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| @@ -99,7 +99,7 @@ db-version="9.3" | ||||
| stanza-create db - fail on database mismatch without force option (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [028]: backup info file or archive info file invalid | ||||
|             HINT: use stanza-upgrade if the database has been upgraded or use --force | ||||
| P00   INFO: stanza-create command end: aborted with exception [028] | ||||
| @@ -139,7 +139,7 @@ db-version="9.3" | ||||
| stanza-upgrade db - already up to date (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: the stanza data is already up to date | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| @@ -177,7 +177,7 @@ db-version="9.3" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -225,7 +225,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-create db - fail on archive info file missing from non-empty dir (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [055]: archive information missing | ||||
|             HINT: use stanza-create --force to force the stanza data to be recreated. | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
| @@ -250,7 +250,7 @@ db-version="9.3" | ||||
| stanza-create db - gunzip fail on forced stanza-create (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [041]: unable to open '[TEST_PATH]/db-master/repo/archive/db/9.3-1/0000000100000001/000000010000000100000001-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz': Permission denied | ||||
| P00   INFO: stanza-create command end: aborted with exception [041] | ||||
|  | ||||
| @@ -274,7 +274,7 @@ db-version="9.3" | ||||
| stanza-create db - force create archive.info from gz file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -312,7 +312,7 @@ db-version="9.3" | ||||
| stanza-create db - force create archive.info from uncompressed file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -350,7 +350,7 @@ db-version="9.3" | ||||
| stanza-create db - force with missing WAL archive file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -388,7 +388,7 @@ db-version="9.3" | ||||
| stanza-create db - force with missing WAL archive directory (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   WARN: found empty directory [TEST_PATH]/db-master/repo/archive/db/9.3-1 | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| @@ -426,7 +426,7 @@ db-version="9.3" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -480,7 +480,7 @@ P00  ERROR: [044]: WAL segment version 9.4 does not match archive version 9.3 | ||||
| stanza-upgrade db - successful upgrade creates additional history (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -519,7 +519,7 @@ db-version="9.4" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get 000000010000000100000002 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Archive::Get::Get->process(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000002 | ||||
| P00   INFO: get WAL segment 000000010000000100000002 | ||||
| P00  DEBUG:     Archive::Get::Get->get(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000002 | ||||
| @@ -569,7 +569,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-create db - use force to recreate the stanza producing mismatched info history but same current db-id (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -609,7 +609,7 @@ db-version="9.4" | ||||
| stanza-create db - use force to recreate the stanza producing mismatched db-id (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -648,7 +648,7 @@ db-version="9.4" | ||||
| full backup - create first full backup  (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --retention-full=2 --no-online --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --retention-full=2 --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --retention-full=2 --stanza=db --start-fast --type=full | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 (16MB, 99%) checksum e40de8cea99dd469c3efb47f5f33a73c7390fb9c | ||||
| @@ -658,7 +658,7 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/archive_status/000 | ||||
| P00   INFO: full backup size = 48MB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-1] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: remove archive path: [TEST_PATH]/db-master/repo/archive/db/9.3-1 | ||||
| P00   INFO: full backup total < 2 - using oldest full backup for 9.4-2 archive retention | ||||
| P00   INFO: expire command end: completed successfully | ||||
| @@ -666,7 +666,7 @@ P00   INFO: expire command end: completed successfully | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -677,7 +677,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -687,7 +687,7 @@ start-fast=y | ||||
| stanza-create db - fail no force to recreate the stanza from backups (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [055]: backup information missing | ||||
|             HINT: use stanza-create --force to force the stanza data to be recreated. | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
| @@ -711,7 +711,7 @@ db-version="9.4" | ||||
| stanza-create db - use force to recreate the stanza from backups (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -753,7 +753,7 @@ db-version="9.4" | ||||
| stanza-upgrade db - successfully upgrade with XX.Y-Z (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/repo/backup/db/backup.info | ||||
| @@ -801,7 +801,7 @@ db-version="9.5" | ||||
| diff backup - diff changed to full backup (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --retention-full=2 --no-online --log-level-console=detail --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --retention-full=2 --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --retention-full=2 --stanza=db --start-fast --type=diff | ||||
| P00   WARN: no prior backup exists, diff backup has been changed to full | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| @@ -812,14 +812,14 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/archive_status/000 | ||||
| P00   INFO: full backup size = 48MB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-2] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: remove archive path: [TEST_PATH]/db-master/repo/archive/db/10.0-3 | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -830,7 +830,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -943,7 +943,7 @@ info all stanzas - db upgraded - db-1 and db-2 listed (db-master host) | ||||
| stanza-delete db - fail on missing stop file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail stanza-delete | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  ERROR: [055]: stop file does not exist for stanza 'db' | ||||
|             HINT: has the pgbackrest stop command been run on this server? | ||||
| P00   INFO: stanza-delete command end: aborted with exception [055] | ||||
| @@ -961,7 +961,7 @@ db | ||||
| stop db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = [undef], oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = /, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathCreate(): bCreateParent = true, bIgnoreExists = true, strMode = 770, strPathExp = [TEST_PATH]/db-master/lock | ||||
| @@ -975,7 +975,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-delete db - successfully delete the stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail stanza-delete | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --protocol-timeout=60 --repo-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=[TEST_PATH]/db-master/repo --stanza=db | ||||
| P00   INFO: stanza-delete command end: completed successfully | ||||
|  | ||||
| db must not exist for successful delete | ||||
|   | ||||
| @@ -4,14 +4,14 @@ run 002 - remote 1, s3 0, enc 1 | ||||
| stanza-create db - fail on missing control file (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [041]: raised from remote process on 'db-master': unable to open [TEST_PATH]/db-master/db/base/global/pg_control | ||||
| P00   INFO: stanza-create command end: aborted with exception [041] | ||||
|  | ||||
| stanza-upgrade db - fail on stanza not initialized since archive.info is missing (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [055]: archive.info does not exist but is required to push/get WAL segments | ||||
|             HINT: is archive_command configured in postgresql.conf? | ||||
|             HINT: has a stanza-create been performed? | ||||
| @@ -22,7 +22,7 @@ P00   INFO: stanza-upgrade command end: aborted with exception [055] | ||||
| stanza-create db - successfully create the stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
| @@ -66,7 +66,7 @@ db-version="9.3" | ||||
| stanza-create db - do not fail on rerun of stanza-create - info files exist and DB section ok (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create was already performed | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| @@ -111,7 +111,7 @@ db-version="9.3" | ||||
| stanza-create db - fail on database mismatch without force option (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [028]: backup info file or archive info file invalid | ||||
|             HINT: use stanza-upgrade if the database has been upgraded or use --force | ||||
| P00   INFO: stanza-create command end: aborted with exception [028] | ||||
| @@ -157,7 +157,7 @@ db-version="9.3" | ||||
| stanza-upgrade db - already up to date (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: the stanza data is already up to date | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| @@ -201,7 +201,7 @@ db-version="9.3" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-2] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -209,9 +209,9 @@ P00  DEBUG:     Archive::Push::File::archivePushFile(): bCompress = true, iCompr | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = <1>, strBackRestBin = [undef], strCommand = <archive-push>, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet: create (cached) remote protocol | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam(): iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = archive-push, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no backrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no pgbackrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Storage::Remote->new(): oProtocol = [object] | ||||
| P00  DEBUG:     Archive::Common::walInfo(): strWalFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Archive::Common::walInfo=>: strDbVersion = 9.3, ullDbSysId = 1000000000000000093 | ||||
| @@ -241,7 +241,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-create db - gunzip fail on forced stanza-create (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [041]: unable to open '[TEST_PATH]/backup/repo/archive/db/9.3-1/0000000100000001/000000010000000100000001-488ba4b8b98acc510bce86b8f16e3c1ed9886a29.gz': Permission denied | ||||
| P00   INFO: stanza-create command end: aborted with exception [041] | ||||
|  | ||||
| @@ -268,7 +268,7 @@ db-version="9.3" | ||||
| stanza-create db - force create archive.info from gz file (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [055]: archive information missing and repo is encrypted and info file(s) are missing, --force cannot be used | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
|  | ||||
| @@ -294,7 +294,7 @@ db-version="9.3" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-2] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --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 --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:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -302,9 +302,9 @@ P00  DEBUG:     Archive::Push::File::archivePushFile(): bCompress = true, iCompr | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = <1>, strBackRestBin = [undef], strCommand = <archive-push>, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet: create (cached) remote protocol | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam(): iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = archive-push, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no backrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no pgbackrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-push --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Storage::Remote->new(): oProtocol = [object] | ||||
| P00  DEBUG:     Archive::Common::walInfo(): strWalFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| P00  DEBUG:     Archive::Common::walInfo=>: strDbVersion = 9.3, ullDbSysId = 1000000000000000093 | ||||
| @@ -340,7 +340,7 @@ P00  ERROR: [044]: raised from remote process on 'backup': WAL segment version 9 | ||||
| stanza-upgrade db - successful upgrade creates additional history (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
| @@ -385,7 +385,7 @@ db-version="9.4" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get 000000010000000100000002 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --backup-cmd=[BACKREST-BIN] --backup-config=[TEST_PATH]/backup/pgbackrest.conf --backup-host=backup --backup-user=[USER-2] --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --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 --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:     Archive::Get::Get->process(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000002 | ||||
| P00   INFO: get WAL segment 000000010000000100000002 | ||||
| P00  DEBUG:     Archive::Get::Get->get(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000002 | ||||
| @@ -394,9 +394,9 @@ P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = <1>, strBackRestBin = [undef], strCommand = <archive-get>, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolGet: create (cached) remote protocol | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam(): iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = archive-get, strRemoteType = backup | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no backrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Helper::protocolParam=>: strRemoteCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strRemoteHost = backup, strRemoteHostSshPort = [undef], strRemoteHostUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, iSshPort = [undef], strCommand = [BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote, strCommandSSH = ssh, strHost = backup, strUser = [USER-2] | ||||
| P00  DEBUG:     Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 3, iCompressLevelNetwork = 1, iProtocolTimeout = 60, strCommand = ssh -o LogLevel=error -o Compression=no -o PasswordAuthentication=no pgbackrest@backup '[BACKREST-BIN] --buffer-size=4194304 --command=archive-get --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote', strId = remote process on 'backup', strName = remote | ||||
| P00  DEBUG:     Protocol::Storage::Remote->new(): oProtocol = [object] | ||||
| P00  DEBUG:     Archive::Base->getCheck(): bCheck = false, strDbVersion = [undef], strFile = 000000010000000100000002, ullDbSysId = [undef] | ||||
| P00  DEBUG:     Db::dbObjectGet(): bMasterOnly = true | ||||
| @@ -428,7 +428,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| full backup - create first full backup  (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --retention-full=2 --no-online --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --retention-full=2 --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --retention-full=2 --stanza=db --start-fast --type=full | ||||
| P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 (16MB, 99%) checksum e40de8cea99dd469c3efb47f5f33a73c7390fb9c | ||||
| @@ -438,7 +438,7 @@ P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/archive_ | ||||
| P00   INFO: full backup size = 48MB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-1] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/backup/pgbackrest.conf --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: remove archive path: [TEST_PATH]/backup/repo/archive/db/9.3-1 | ||||
| P00   INFO: full backup total < 2 - using oldest full backup for 9.4-2 archive retention | ||||
| P00   INFO: expire command end: completed successfully | ||||
| @@ -446,13 +446,9 @@ P00   INFO: expire command end: completed successfully | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-2] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -462,16 +458,20 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-2] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-user=[USER-1] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -483,9 +483,9 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-cipher-pass=x | ||||
| repo-cipher-type=aes-256-cbc | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-cipher-pass=x | ||||
| repo1-cipher-type=aes-256-cbc | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -494,7 +494,7 @@ start-fast=y | ||||
| stanza-create db - fail no force to recreate the stanza from backups (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [055]: backup information missing and repo is encrypted and info file(s) are missing, --force cannot be used | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
|  | ||||
| @@ -520,7 +520,7 @@ db-version="9.4" | ||||
| stanza-create db - use force to recreate the stanza from backups (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [055]: backup information missing and repo is encrypted and info file(s) are missing, --force cannot be used | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
|  | ||||
| @@ -546,7 +546,7 @@ db-version="9.4" | ||||
| stanza-upgrade db - successfully upgrade with XX.Y-Z (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/repo/backup/db/backup.info | ||||
| @@ -601,7 +601,7 @@ db-version="9.5" | ||||
| diff backup - diff changed to full backup (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --retention-full=2 --no-online --log-level-console=detail --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-online --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --retention-full=2 --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --no-online --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --retention-full=2 --stanza=db --start-fast --type=diff | ||||
| P00   WARN: no prior backup exists, diff backup has been changed to full | ||||
| P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| @@ -612,20 +612,16 @@ P01   INFO: backup file db-master:[TEST_PATH]/db-master/db/base/pg_xlog/archive_ | ||||
| P00   INFO: full backup size = 48MB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-2] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/backup/pgbackrest.conf --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: remove archive path: [TEST_PATH]/backup/repo/archive/db/10.0-3 | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-2] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -635,16 +631,20 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-2] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-user=[USER-1] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -656,9 +656,9 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-cipher-pass=x | ||||
| repo-cipher-type=aes-256-cbc | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-cipher-pass=x | ||||
| repo1-cipher-type=aes-256-cbc | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -775,7 +775,7 @@ info all stanzas - db upgraded - db-1 and db-2 listed (db-master host) | ||||
| stanza-delete db - fail on missing stop file (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail stanza-delete | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  ERROR: [055]: stop file does not exist for stanza 'db' | ||||
|             HINT: has the pgbackrest stop command been run on this server? | ||||
| P00   INFO: stanza-delete command end: aborted with exception [055] | ||||
| @@ -793,7 +793,7 @@ db | ||||
| stop db stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --lock-path=[TEST_PATH]/backup/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/backup/pgbackrest.conf --lock-path=[TEST_PATH]/backup/lock --log-level-console=debug --log-level-file=trace --log-level-stderr=off --log-path=[TEST_PATH]/backup/log --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = [undef], oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = /, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathCreate(): bCreateParent = true, bIgnoreExists = true, strMode = 770, strPathExp = [TEST_PATH]/backup/lock | ||||
| @@ -807,7 +807,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-delete db - successfully delete the stanza (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail stanza-delete | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db1-cmd=[BACKREST-BIN] --db1-config=[TEST_PATH]/db-master/pgbackrest.conf --db1-host=db-master --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --db1-user=[USER-1] --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --protocol-timeout=60 --repo-cipher-pass=<redacted> --repo-cipher-type=aes-256-cbc --repo-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --compress-level-network=1 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --lock-path=[TEST_PATH]/backup/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/backup/log --pg1-host=db-master --pg1-host-cmd=[BACKREST-BIN] --pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf --pg1-host-user=[USER-1] --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-cipher-pass=<redacted> --repo1-cipher-type=aes-256-cbc --repo1-path=[TEST_PATH]/backup/repo --stanza=db | ||||
| P00   INFO: stanza-delete command end: completed successfully | ||||
|  | ||||
| db must not exist for successful delete | ||||
|   | ||||
| @@ -4,14 +4,14 @@ run 003 - remote 0, s3 1, enc 0 | ||||
| stanza-create db - fail on missing control file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  ERROR: [041]: unable to open [TEST_PATH]/db-master/db/base/global/pg_control | ||||
| P00   INFO: stanza-create command end: aborted with exception [041] | ||||
|  | ||||
| stanza-upgrade db - fail on stanza not initialized since archive.info is missing (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  ERROR: [055]: archive.info does not exist but is required to push/get WAL segments | ||||
|             HINT: is archive_command configured in postgresql.conf? | ||||
|             HINT: has a stanza-create been performed? | ||||
| @@ -22,7 +22,7 @@ P00   INFO: stanza-upgrade command end: aborted with exception [055] | ||||
| stanza-create db - successfully create the stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -60,7 +60,7 @@ db-version="9.3" | ||||
| stanza-create db - do not fail on rerun of stanza-create - info files exist and DB section ok (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create was already performed | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| @@ -99,7 +99,7 @@ db-version="9.3" | ||||
| stanza-create db - fail on database mismatch without force option (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  ERROR: [028]: backup info file or archive info file invalid | ||||
|             HINT: use stanza-upgrade if the database has been upgraded or use --force | ||||
| P00   INFO: stanza-create command end: aborted with exception [028] | ||||
| @@ -139,7 +139,7 @@ db-version="9.3" | ||||
| stanza-upgrade db - already up to date (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: the stanza data is already up to date | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| @@ -177,7 +177,7 @@ db-version="9.3" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  DEBUG:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -225,7 +225,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-create db - fail on archive info file missing from non-empty dir (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  ERROR: [055]: archive information missing | ||||
|             HINT: use stanza-create --force to force the stanza data to be recreated. | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
| @@ -250,7 +250,7 @@ db-version="9.3" | ||||
| stanza-create db - force create archive.info from gz file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -288,7 +288,7 @@ db-version="9.3" | ||||
| stanza-create db - force create archive.info from uncompressed file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -326,7 +326,7 @@ db-version="9.3" | ||||
| stanza-create db - force with missing WAL archive file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -364,7 +364,7 @@ db-version="9.3" | ||||
| stanza-create db - force with missing WAL archive directory (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -401,7 +401,7 @@ db-version="9.3" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-push [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: archive-push command begin [BACKREST-VERSION]: --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  DEBUG:     Archive::Push::Push->process(): strWalPathFile = [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 | ||||
| P00  DEBUG:     Common::Lock::lockStopTest(): bStanzaStopRequired = <false> | ||||
| P00  DEBUG:     Common::Lock::lockStopTest=>: bStopExists = false | ||||
| @@ -455,7 +455,7 @@ P00  ERROR: [044]: WAL segment version 9.4 does not match archive version 9.3 | ||||
| stanza-upgrade db - successful upgrade creates additional history (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -494,7 +494,7 @@ db-version="9.4" | ||||
|  | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db archive-get 000000010000000100000002 [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: archive-get command begin [BACKREST-VERSION]: --compress-level=3 --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 --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  DEBUG:     Archive::Get::Get->process(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000002 | ||||
| P00   INFO: get WAL segment 000000010000000100000002 | ||||
| P00  DEBUG:     Archive::Get::Get->get(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000002 | ||||
| @@ -544,7 +544,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-create db - use force to recreate the stanza producing mismatched info history but same current db-id (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -584,7 +584,7 @@ db-version="9.4" | ||||
| stanza-create db - use force to recreate the stanza producing mismatched db-id (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -623,7 +623,7 @@ db-version="9.4" | ||||
| full backup - create first full backup  (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --retention-full=2 --no-online --log-level-console=detail --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --retention-full=2 --stanza=db --start-fast --type=full | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --retention-full=2 --stanza=db --start-fast --type=full | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000001 (16MB, 99%) checksum e40de8cea99dd469c3efb47f5f33a73c7390fb9c | ||||
| @@ -633,7 +633,7 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/archive_status/000 | ||||
| P00   INFO: full backup size = 48MB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-1] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: remove archive path: /archive/db/9.3-1 | ||||
| P00   INFO: full backup total < 2 - using oldest full backup for 9.4-2 archive retention | ||||
| P00   INFO: expire command end: completed successfully | ||||
| @@ -641,7 +641,7 @@ P00   INFO: expire command end: completed successfully | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -652,14 +652,14 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=/ | ||||
| repo-s3-bucket=pgbackrest-dev | ||||
| repo-s3-endpoint=s3.amazonaws.com | ||||
| repo-s3-key=accessKey1 | ||||
| repo-s3-key-secret=verySecretKey1 | ||||
| repo-s3-region=us-east-1 | ||||
| repo-s3-verify-ssl=n | ||||
| repo-type=s3 | ||||
| repo1-path=/ | ||||
| repo1-s3-bucket=pgbackrest-dev | ||||
| repo1-s3-endpoint=s3.amazonaws.com | ||||
| repo1-s3-key=accessKey1 | ||||
| repo1-s3-key-secret=verySecretKey1 | ||||
| repo1-s3-region=us-east-1 | ||||
| repo1-s3-verify-ssl=n | ||||
| repo1-type=s3 | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -669,7 +669,7 @@ start-fast=y | ||||
| stanza-create db - fail no force to recreate the stanza from backups (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  ERROR: [055]: backup information missing | ||||
|             HINT: use stanza-create --force to force the stanza data to be recreated. | ||||
| P00   INFO: stanza-create command end: aborted with exception [055] | ||||
| @@ -693,7 +693,7 @@ db-version="9.4" | ||||
| stanza-create db - use force to recreate the stanza from backups (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db-timeout=45 --force --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-create command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -735,7 +735,7 @@ db-version="9.4" | ||||
| stanza-upgrade db - successfully upgrade with XX.Y-Z (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail --no-online stanza-upgrade | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-upgrade command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-upgrade command end: completed successfully | ||||
|  | ||||
| + supplemental file: /backup/db/backup.info | ||||
| @@ -783,7 +783,7 @@ db-version="9.5" | ||||
| diff backup - diff changed to full backup (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --retention-full=2 --no-online --log-level-console=detail --type=diff --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --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 --no-online --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --retention-full=2 --stanza=db --start-fast --type=diff | ||||
| P00   INFO: backup command begin [BACKREST-VERSION]: --compress-level=3 --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 --no-online --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --retention-full=2 --stanza=db --start-fast --type=diff | ||||
| P00   WARN: no prior backup exists, diff backup has been changed to full | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG (16MB, 33%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/000000010000000100000002 (16MB, 66%) checksum 488ba4b8b98acc510bce86b8f16e3c1ed9886a29 | ||||
| @@ -794,14 +794,14 @@ P01   INFO: backup file [TEST_PATH]/db-master/db/base/pg_xlog/archive_status/000 | ||||
| P00   INFO: full backup size = 48MB | ||||
| P00   INFO: new backup label = [BACKUP-FULL-2] | ||||
| P00   INFO: backup command end: completed successfully | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: expire command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --retention-archive=2 --retention-full=2 --stanza=db | ||||
| P00   INFO: remove archive path: /archive/db/10.0-3 | ||||
| P00   INFO: expire command end: completed successfully | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -812,14 +812,14 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=/ | ||||
| repo-s3-bucket=pgbackrest-dev | ||||
| repo-s3-endpoint=s3.amazonaws.com | ||||
| repo-s3-key=accessKey1 | ||||
| repo-s3-key-secret=verySecretKey1 | ||||
| repo-s3-region=us-east-1 | ||||
| repo-s3-verify-ssl=n | ||||
| repo-type=s3 | ||||
| repo1-path=/ | ||||
| repo1-s3-bucket=pgbackrest-dev | ||||
| repo1-s3-endpoint=s3.amazonaws.com | ||||
| repo1-s3-key=accessKey1 | ||||
| repo1-s3-key-secret=verySecretKey1 | ||||
| repo1-s3-region=us-east-1 | ||||
| repo1-s3-verify-ssl=n | ||||
| repo1-type=s3 | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -932,7 +932,7 @@ info all stanzas - db upgraded - db-1 and db-2 listed (db-master host) | ||||
| stanza-delete db - fail on missing stop file (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail stanza-delete | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  ERROR: [055]: stop file does not exist for stanza 'db' | ||||
|             HINT: has the pgbackrest stop command been run on this server? | ||||
| P00   INFO: stanza-delete command end: aborted with exception [055] | ||||
| @@ -948,7 +948,7 @@ db must not exist for successful delete | ||||
| stop db stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db stop | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stop command begin [BACKREST-VERSION]: --config=[TEST_PATH]/db-master/pgbackrest.conf --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 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00  DEBUG:     Storage::Posix::Driver->new(): bFileSync = <true>, bPathSync = <true> | ||||
| P00  DEBUG:     Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = [undef], oDriver = [object], strCipherPassUser = [undef], strCipherType = [undef], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = /, strTempExtension = pgbackrest.tmp | ||||
| P00  DEBUG:     Storage::Local->pathCreate(): bCreateParent = true, bIgnoreExists = true, strMode = 770, strPathExp = [TEST_PATH]/db-master/lock | ||||
| @@ -962,7 +962,7 @@ P00  DEBUG:     Common::Exit::exitSafe=>: iExitCode = 0 | ||||
| stanza-delete db - successfully delete the stanza (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail stanza-delete | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --config=[TEST_PATH]/db-master/pgbackrest.conf --db1-path=[TEST_PATH]/db-master/db/base --db-timeout=45 --lock-path=[TEST_PATH]/db-master/lock --log-level-console=detail --log-level-file=trace --log-path=[TEST_PATH]/db-master/log --protocol-timeout=60 --repo-path=/ --repo-s3-bucket=pgbackrest-dev --repo-s3-endpoint=s3.amazonaws.com --repo-s3-key=<redacted> --repo-s3-key-secret=<redacted> --repo-s3-region=us-east-1 --no-repo-s3-verify-ssl --repo-type=s3 --stanza=db | ||||
| P00   INFO: stanza-delete command begin [BACKREST-VERSION]: --compress-level=3 --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-path=[TEST_PATH]/db-master/log --pg1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --repo1-path=/ --repo1-s3-bucket=pgbackrest-dev --repo1-s3-endpoint=s3.amazonaws.com --repo1-s3-key=<redacted> --repo1-s3-key-secret=<redacted> --repo1-s3-region=us-east-1 --no-repo1-s3-verify-ssl --repo1-type=s3 --stanza=db | ||||
| P00   INFO: stanza-delete command end: completed successfully | ||||
|  | ||||
| db must not exist for successful delete | ||||
|   | ||||
| @@ -66,11 +66,11 @@ stanza-create db - verify success with force (db-master host) | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-create db - fail on database mismatch with directory (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail  --db-path=[TEST_PATH]/db-master/db/testbase/ stanza-create | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail  --pg1-path=[TEST_PATH]/db-master/db/testbase/ stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-create db - successfully create stanza files to be upgraded (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail  --db-path=[TEST_PATH]/db-master/db/testbase/ --no-online --force stanza-create | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --stanza=db --log-level-console=detail  --pg1-path=[TEST_PATH]/db-master/db/testbase/ --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-upgrade db - upgrade stanza files online (db-master host) | ||||
| @@ -88,9 +88,9 @@ full backup - update during backup (db-master host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -102,7 +102,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -132,9 +132,9 @@ incr backup - update during backup (db-master host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -147,7 +147,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -248,9 +248,9 @@ incr backup - succeed on --no-online with --force (db-master host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
| recovery-option=standby-mode=on | ||||
|  | ||||
| [global] | ||||
| @@ -264,7 +264,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
|   | ||||
| @@ -12,19 +12,19 @@ full backup - update during backup (db-master host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-standby/db/base | ||||
| db2-user=[USER-1] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db8-host=db-standby | ||||
| db8-path=[TEST_PATH]/db-standby/db/base | ||||
| db8-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg2-host-user=[USER-1] | ||||
| pg2-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-host=db-standby | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg8-host-user=[USER-1] | ||||
| pg8-path=[TEST_PATH]/db-standby/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -36,7 +36,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -46,15 +46,11 @@ start-fast=y | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| backup-host=db-master | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| @@ -64,6 +60,10 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=db-master | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| restore, type 'default', remap - restore backup on replica (db-standby host) | ||||
| @@ -77,7 +77,7 @@ standby_mode = 'on' | ||||
| restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-standby/pgbackrest.conf --stanza=db archive-get %f "%p"' | ||||
|  | ||||
| full backup - backup from standby, failure to access at least one standby (db-master host) | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --db8-host=bogus --backup-standby --type=full --stanza=db backup | ||||
| > [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --pg8-host=bogus --backup-standby --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| full backup - backup from standby (db-master host) | ||||
| @@ -87,19 +87,19 @@ full backup - backup from standby (db-master host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-standby/db/base | ||||
| db2-user=[USER-1] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db8-host=db-standby | ||||
| db8-path=[TEST_PATH]/db-standby/db/base | ||||
| db8-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg2-host-user=[USER-1] | ||||
| pg2-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-host=db-standby | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg8-host-user=[USER-1] | ||||
| pg8-path=[TEST_PATH]/db-standby/db/base | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -112,7 +112,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -122,17 +122,13 @@ start-fast=y | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| backup-host=db-master | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| @@ -142,6 +138,10 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=db-master | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| check db - confirm standby manifest->build executed (db-standby host) | ||||
| @@ -159,19 +159,19 @@ incr backup - update during backup (db-master host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-standby/db/base | ||||
| db2-user=[USER-1] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db8-host=db-standby | ||||
| db8-path=[TEST_PATH]/db-standby/db/base | ||||
| db8-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg2-host-user=[USER-1] | ||||
| pg2-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-host=db-standby | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg8-host-user=[USER-1] | ||||
| pg8-path=[TEST_PATH]/db-standby/db/base | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -184,7 +184,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-master/repo | ||||
| repo1-path=[TEST_PATH]/db-master/repo | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -194,17 +194,13 @@ start-fast=y | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| backup-host=db-master | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| db-timeout=45 | ||||
| @@ -214,6 +210,10 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=db-master | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| restore, type 'default' (db-master host) | ||||
|   | ||||
| @@ -12,15 +12,11 @@ full backup - update during backup (db-standby host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| backup-host=db-standby | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -31,24 +27,28 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=db-standby | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-master/db/base | ||||
| db2-user=[USER-1] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db8-host=db-master | ||||
| db8-path=[TEST_PATH]/db-master/db/base | ||||
| db8-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg2-host-user=[USER-1] | ||||
| pg2-path=[TEST_PATH]/db-master/db/base | ||||
| pg8-host=db-master | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg8-host-user=[USER-1] | ||||
| pg8-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -61,7 +61,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-standby/repo | ||||
| repo1-path=[TEST_PATH]/db-standby/repo | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -79,7 +79,7 @@ standby_mode = 'on' | ||||
| restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-standby/pgbackrest.conf --stanza=db archive-get %f "%p"' | ||||
|  | ||||
| full backup - backup from standby, failure to reach master (db-standby host) | ||||
| > [CONTAINER-EXEC] db-standby [BACKREST-BIN] --config=[TEST_PATH]/db-standby/pgbackrest.conf --db8-host=bogus --backup-standby --type=full --stanza=db backup | ||||
| > [CONTAINER-EXEC] db-standby [BACKREST-BIN] --config=[TEST_PATH]/db-standby/pgbackrest.conf --pg8-host=bogus --backup-standby --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| full backup - backup from standby (db-standby host) | ||||
| @@ -89,15 +89,11 @@ full backup - backup from standby (db-standby host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| backup-host=db-standby | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -108,24 +104,28 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=db-standby | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-master/db/base | ||||
| db2-user=[USER-1] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db8-host=db-master | ||||
| db8-path=[TEST_PATH]/db-master/db/base | ||||
| db8-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg2-host-user=[USER-1] | ||||
| pg2-path=[TEST_PATH]/db-master/db/base | ||||
| pg8-host=db-master | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg8-host-user=[USER-1] | ||||
| pg8-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| @@ -141,7 +141,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-standby/repo | ||||
| repo1-path=[TEST_PATH]/db-standby/repo | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| [global:backup] | ||||
| @@ -159,15 +159,11 @@ incr backup - update during backup (db-standby host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| backup-host=db-standby | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -178,24 +174,28 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=db-standby | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-master/db/base | ||||
| db2-user=[USER-1] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db8-host=db-master | ||||
| db8-path=[TEST_PATH]/db-master/db/base | ||||
| db8-user=[USER-1] | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg2-host-user=[USER-1] | ||||
| pg2-path=[TEST_PATH]/db-master/db/base | ||||
| pg8-host=db-master | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg8-host-user=[USER-1] | ||||
| pg8-path=[TEST_PATH]/db-master/db/base | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| @@ -211,7 +211,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/db-standby/repo | ||||
| repo1-path=[TEST_PATH]/db-standby/repo | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| [global:backup] | ||||
|   | ||||
| @@ -90,7 +90,7 @@ stanza-create db - fail on backup info file missing from non-empty dir (backup h | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-create db - successfully create stanza files to be upgraded (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail  --db-path=[TEST_PATH]/db-master/db/testbase/ --no-online --force stanza-create | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail  --pg1-path=[TEST_PATH]/db-master/db/testbase/ --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-upgrade db - upgrade stanza files online (backup host) | ||||
| @@ -104,15 +104,11 @@ full backup - update during backup (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -122,17 +118,21 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -144,9 +144,9 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-cipher-pass=x | ||||
| repo-cipher-type=aes-256-cbc | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-cipher-pass=x | ||||
| repo1-cipher-type=aes-256-cbc | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -171,15 +171,11 @@ incr backup - update during backup (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -189,17 +185,21 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -212,9 +212,9 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-cipher-pass=x | ||||
| repo-cipher-type=aes-256-cbc | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-cipher-pass=x | ||||
| repo1-cipher-type=aes-256-cbc | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -248,15 +248,11 @@ incr backup - succeed on --no-online with --force (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -266,17 +262,21 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -289,9 +289,9 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-cipher-pass=x | ||||
| repo-cipher-type=aes-256-cbc | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-cipher-pass=x | ||||
| repo1-cipher-type=aes-256-cbc | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
|   | ||||
| @@ -12,15 +12,11 @@ full backup - update during backup (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -31,20 +27,20 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -55,28 +51,32 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db1-cmd=[BACKREST-BIN] | ||||
| db1-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db1-host=db-master | ||||
| db1-path=[TEST_PATH]/db-master/db/base | ||||
| db1-port=[PORT-1] | ||||
| db1-user=[USER-2] | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-standby/db/base | ||||
| db2-user=[USER-2] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db8-host=db-standby | ||||
| db8-path=[TEST_PATH]/db-standby/db/base | ||||
| db8-port=[PORT-2] | ||||
| db8-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg2-host-user=[USER-2] | ||||
| pg2-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-host=db-standby | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg8-host-user=[USER-2] | ||||
| pg8-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-port=6544 | ||||
|  | ||||
| [global] | ||||
| compress=n | ||||
| @@ -89,7 +89,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -106,7 +106,7 @@ standby_mode = 'on' | ||||
| restore_command = '[BACKREST-BIN] --config=[TEST_PATH]/db-standby/pgbackrest.conf --stanza=db archive-get %f "%p"' | ||||
|  | ||||
| full backup - backup from standby, failure to access at least one standby (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --db8-host=bogus --backup-standby --type=full --stanza=db backup | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --pg8-host=bogus --backup-standby --type=full --stanza=db backup | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| full backup - backup from standby (backup host) | ||||
| @@ -116,15 +116,11 @@ full backup - backup from standby (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -135,22 +131,22 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -161,28 +157,32 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db1-cmd=[BACKREST-BIN] | ||||
| db1-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db1-host=db-master | ||||
| db1-path=[TEST_PATH]/db-master/db/base | ||||
| db1-port=[PORT-1] | ||||
| db1-user=[USER-2] | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-standby/db/base | ||||
| db2-user=[USER-2] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db8-host=db-standby | ||||
| db8-path=[TEST_PATH]/db-standby/db/base | ||||
| db8-port=[PORT-2] | ||||
| db8-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg2-host-user=[USER-2] | ||||
| pg2-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-host=db-standby | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg8-host-user=[USER-2] | ||||
| pg8-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-port=6544 | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -196,7 +196,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -217,15 +217,11 @@ incr backup - update during backup (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -236,22 +232,22 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/db-standby/pgbackrest.conf | ||||
| ----------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-standby/db/base | ||||
| db-port=[PORT-2] | ||||
| db-socket-path=[TEST_PATH]/db-standby/db | ||||
| pg1-path=[TEST_PATH]/db-standby/db/base | ||||
| pg1-port=6544 | ||||
| pg1-socket-path=[TEST_PATH]/db-standby/db | ||||
|  | ||||
| [db:restore] | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress=n | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| @@ -262,28 +258,32 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-standby/log | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-standby/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db1-cmd=[BACKREST-BIN] | ||||
| db1-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db1-host=db-master | ||||
| db1-path=[TEST_PATH]/db-master/db/base | ||||
| db1-port=[PORT-1] | ||||
| db1-user=[USER-2] | ||||
| db2-cmd=[BACKREST-BIN] | ||||
| db2-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db2-host=bogus | ||||
| db2-path=[TEST_PATH]/db-standby/db/base | ||||
| db2-user=[USER-2] | ||||
| db8-cmd=[BACKREST-BIN] | ||||
| db8-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| db8-host=db-standby | ||||
| db8-path=[TEST_PATH]/db-standby/db/base | ||||
| db8-port=[PORT-2] | ||||
| db8-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg2-host=bogus | ||||
| pg2-host-cmd=[BACKREST-BIN] | ||||
| pg2-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg2-host-user=[USER-2] | ||||
| pg2-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-host=db-standby | ||||
| pg8-host-cmd=[BACKREST-BIN] | ||||
| pg8-host-config=[TEST_PATH]/db-standby/pgbackrest.conf | ||||
| pg8-host-user=[USER-2] | ||||
| pg8-path=[TEST_PATH]/db-standby/db/base | ||||
| pg8-port=6544 | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -297,7 +297,7 @@ log-level-file=trace | ||||
| log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| protocol-timeout=60 | ||||
| repo-path=[TEST_PATH]/backup/repo | ||||
| repo1-path=[TEST_PATH]/backup/repo | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
|   | ||||
| @@ -90,11 +90,11 @@ stanza-create db - verify success with force (backup host) | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-create db - fail on database mismatch with directory (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail  --db-path=[TEST_PATH]/db-master/db/testbase/ stanza-create | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail  --pg1-path=[TEST_PATH]/db-master/db/testbase/ stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-create db - successfully create stanza files to be upgraded (backup host) | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail  --db-path=[TEST_PATH]/db-master/db/testbase/ --no-online --force stanza-create | ||||
| > [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --stanza=db --log-level-console=detail  --pg1-path=[TEST_PATH]/db-master/db/testbase/ --no-online --force stanza-create | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
|  | ||||
| stanza-upgrade db - upgrade stanza files online (backup host) | ||||
| @@ -108,15 +108,11 @@ full backup - update during backup (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -127,17 +123,21 @@ log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| process-max=2 | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
|  | ||||
| [global] | ||||
| compress-level=3 | ||||
| @@ -150,14 +150,14 @@ log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| process-max=2 | ||||
| protocol-timeout=60 | ||||
| repo-path=/ | ||||
| repo-s3-bucket=pgbackrest-dev | ||||
| repo-s3-endpoint=s3.amazonaws.com | ||||
| repo-s3-key=accessKey1 | ||||
| repo-s3-key-secret=verySecretKey1 | ||||
| repo-s3-region=us-east-1 | ||||
| repo-s3-verify-ssl=n | ||||
| repo-type=s3 | ||||
| repo1-path=/ | ||||
| repo1-s3-bucket=pgbackrest-dev | ||||
| repo1-s3-endpoint=s3.amazonaws.com | ||||
| repo1-s3-key=accessKey1 | ||||
| repo1-s3-key-secret=verySecretKey1 | ||||
| repo1-s3-region=us-east-1 | ||||
| repo1-s3-verify-ssl=n | ||||
| repo1-type=s3 | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
| @@ -170,15 +170,11 @@ incr backup - update during backup (backup host) | ||||
| + supplemental file: [TEST_PATH]/db-master/pgbackrest.conf | ||||
| ---------------------------------------------------------- | ||||
| [db] | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-socket-path=[TEST_PATH]/db-master/db | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
| pg1-socket-path=[TEST_PATH]/db-master/db | ||||
|  | ||||
| [global] | ||||
| backup-cmd=[BACKREST-BIN] | ||||
| backup-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| backup-host=backup | ||||
| backup-user=[USER-1] | ||||
| compress-level=3 | ||||
| compress-level-network=1 | ||||
| db-timeout=45 | ||||
| @@ -189,17 +185,21 @@ log-level-stderr=off | ||||
| log-path=[TEST_PATH]/db-master/log | ||||
| process-max=2 | ||||
| protocol-timeout=60 | ||||
| repo1-host=backup | ||||
| repo1-host-cmd=[BACKREST-BIN] | ||||
| repo1-host-config=[TEST_PATH]/backup/pgbackrest.conf | ||||
| repo1-host-user=[USER-1] | ||||
| spool-path=[TEST_PATH]/db-master/spool | ||||
|  | ||||
| + supplemental file: [TEST_PATH]/backup/pgbackrest.conf | ||||
| ------------------------------------------------------- | ||||
| [db] | ||||
| db-cmd=[BACKREST-BIN] | ||||
| db-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| db-host=db-master | ||||
| db-path=[TEST_PATH]/db-master/db/base | ||||
| db-port=[PORT-1] | ||||
| db-user=[USER-2] | ||||
| pg1-host=db-master | ||||
| pg1-host-cmd=[BACKREST-BIN] | ||||
| pg1-host-config=[TEST_PATH]/db-master/pgbackrest.conf | ||||
| pg1-host-user=[USER-2] | ||||
| pg1-path=[TEST_PATH]/db-master/db/base | ||||
| pg1-port=6543 | ||||
|  | ||||
| [global] | ||||
| archive-async=y | ||||
| @@ -213,14 +213,14 @@ log-level-stderr=off | ||||
| log-path=[TEST_PATH]/backup/log | ||||
| process-max=2 | ||||
| protocol-timeout=60 | ||||
| repo-path=/ | ||||
| repo-s3-bucket=pgbackrest-dev | ||||
| repo-s3-endpoint=s3.amazonaws.com | ||||
| repo-s3-key=accessKey1 | ||||
| repo-s3-key-secret=verySecretKey1 | ||||
| repo-s3-region=us-east-1 | ||||
| repo-s3-verify-ssl=n | ||||
| repo-type=s3 | ||||
| repo1-path=/ | ||||
| repo1-s3-bucket=pgbackrest-dev | ||||
| repo1-s3-endpoint=s3.amazonaws.com | ||||
| repo1-s3-key=accessKey1 | ||||
| repo1-s3-key-secret=verySecretKey1 | ||||
| repo1-s3-region=us-east-1 | ||||
| repo1-s3-verify-ssl=n | ||||
| repo1-type=s3 | ||||
|  | ||||
| [global:backup] | ||||
| archive-copy=y | ||||
|   | ||||
| @@ -38,7 +38,7 @@ Get version. | ||||
|  | ||||
| Displays installed pgBackRest version. | ||||
|  | ||||
| > [BACKREST-BIN] help --output=json --stanza=main --backup-host=backup info | ||||
| > [BACKREST-BIN] help --output=json --stanza=main --repo1-host=backup info | ||||
| ------------------------------------------------------------------------------------------------------------------------------------ | ||||
| [BACKREST-NAME-VERSION] - 'info' command help | ||||
|  | ||||
| @@ -82,17 +82,17 @@ Log Options: | ||||
|  | ||||
| Repository Options: | ||||
|  | ||||
|   --backup-cmd              pgBackRest exe path on the backup host | ||||
| [default=[BACKREST-BIN]] | ||||
|   --backup-config           pgBackRest backup host configuration file | ||||
| [default=/etc/pgbackrest.conf] | ||||
|   --backup-host             backup host when operating remotely via SSH | ||||
| [current=backup] | ||||
|   --backup-ssh-port         backup server SSH port when backup-host is set | ||||
|   --backup-user             backup host user when backup-host is set | ||||
| [default=backrest] | ||||
|   --repo-cipher-pass        repository cipher passphrase | ||||
|   --repo-cipher-type        cipher used to encrypt the repository [default=none] | ||||
|   --repo-host               repository host when operating remotely via SSH | ||||
| [current=backup] | ||||
|   --repo-host-cmd           pgBackRest exe path on the repository host | ||||
| [default=[BACKREST-BIN]] | ||||
|   --repo-host-config        pgBackRest repository host configuration file | ||||
| [default=/etc/pgbackrest.conf] | ||||
|   --repo-host-port          repository host port when repo-host is set | ||||
|   --repo-host-user          repository host user when repo-host is set | ||||
| [default=pgbackrest] | ||||
|   --repo-path               path where backups and archive are stored | ||||
| [default=/var/lib/pgbackrest] | ||||
|   --repo-s3-bucket          s3 repository bucket | ||||
| @@ -179,15 +179,15 @@ Log Options: | ||||
|  | ||||
| Repository Options: | ||||
|  | ||||
|   --backup-cmd              pgBackRest exe path on the backup host | ||||
|   --backup-config           pgBackRest backup host configuration file | ||||
| [default=/etc/pgbackrest.conf] | ||||
|   --backup-host             backup host when operating remotely via SSH | ||||
|   --backup-ssh-port         backup server SSH port when backup-host is set | ||||
|   --backup-user             backup host user when backup-host is set | ||||
| [default=backrest] | ||||
|   --repo-cipher-pass        repository cipher passphrase | ||||
|   --repo-cipher-type        cipher used to encrypt the repository [default=none] | ||||
|   --repo-host               repository host when operating remotely via SSH | ||||
|   --repo-host-cmd           pgBackRest exe path on the repository host | ||||
|   --repo-host-config        pgBackRest repository host configuration file | ||||
| [default=/etc/pgbackrest.conf] | ||||
|   --repo-host-port          repository host port when repo-host is set | ||||
|   --repo-host-user          repository host user when repo-host is set | ||||
| [default=pgbackrest] | ||||
|   --repo-path               path where backups and archive are stored | ||||
| [default=/var/lib/pgbackrest] | ||||
|   --repo-s3-bucket          s3 repository bucket | ||||
| @@ -204,15 +204,15 @@ Repository Options: | ||||
|  | ||||
| Stanza Options: | ||||
|  | ||||
|   --db-cmd                  pgBackRest exe path on the database host | ||||
|   --db-config               pgBackRest database host configuration file | ||||
|   --pg-host                 postgreSQL host for operating remotely via SSH | ||||
|   --pg-host-cmd             pgBackRest exe path on the PostgreSQL host | ||||
|   --pg-host-config          pgBackRest database host configuration file | ||||
| [default=/etc/pgbackrest.conf] | ||||
|   --db-host                 cluster host for operating remotely via SSH | ||||
|   --db-path                 cluster data directory | ||||
|   --db-port                 cluster port [default=5432] | ||||
|   --db-socket-path          cluster unix socket path | ||||
|   --db-ssh-port             database server SSH port when db-host is set | ||||
|   --db-user                 cluster host logon user when db-host is set | ||||
|   --pg-host-port            postgreSQL host port when pg-host is set | ||||
|   --pg-host-user            postgreSQL host logon user when pg-host is set | ||||
| [default=postgres] | ||||
|   --pg-path                 postgreSQL data directory | ||||
|   --pg-port                 postgreSQL port [default=5432] | ||||
|   --pg-socket-path          postgreSQL unix socket path | ||||
|  | ||||
| Use 'pgbackrest help check [option]' for more information. | ||||
|   | ||||
| @@ -41,7 +41,7 @@ use constant TEST_USER                                              => getpwuid( | ||||
|     push @EXPORT, qw(TEST_USER); | ||||
| use constant TEST_USER_ID                                           => $UID; | ||||
|  | ||||
| use constant BACKREST_USER                                          => 'backrest'; | ||||
| use constant BACKREST_USER                                          => 'pgbackrest'; | ||||
|     push @EXPORT, qw(BACKREST_USER); | ||||
| use constant BACKREST_USER_ID                                       => getpwnam(BACKREST_USER) . ''; | ||||
|  | ||||
|   | ||||
| @@ -450,7 +450,7 @@ my $oTestDef = | ||||
|                 }, | ||||
|                 { | ||||
|                     &TESTDEF_NAME => 'parse', | ||||
|                     &TESTDEF_TOTAL => 1, | ||||
|                     &TESTDEF_TOTAL => 2, | ||||
|                     &TESTDEF_C => true, | ||||
|  | ||||
|                     &TESTDEF_COVERAGE => | ||||
|   | ||||
| @@ -220,7 +220,7 @@ sub run | ||||
|                 " --module=" . $self->{oTest}->{&TEST_MODULE} . | ||||
|                 ' --test=' . $self->{oTest}->{&TEST_NAME} . | ||||
|                 $strCommandRunParam . | ||||
|                 (defined($self->{oTest}->{&TEST_DB}) ? ' --db-version=' . $self->{oTest}->{&TEST_DB} : '') . | ||||
|                 (defined($self->{oTest}->{&TEST_DB}) ? ' --pg-version=' . $self->{oTest}->{&TEST_DB} : '') . | ||||
|                 ($self->{strLogLevel} ne lc(INFO) ? " --log-level=$self->{strLogLevel}" : '') . | ||||
|                 ' --pgsql-bin=' . $self->{oTest}->{&TEST_PGSQL_BIN} . | ||||
|                 ($self->{bLogForce} ? ' --log-force' : '') . | ||||
|   | ||||
| @@ -392,7 +392,7 @@ sub regExpReplaceAll | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', 'strUser = [^ \n,\[\]]+', '[^ \n,\[\]]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', 'user"[ ]{0,1}:[ ]{0,1}"[^"]+', '[^"]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', 'user=\"[^"]+', '[^"]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', '^db-user=.+$', '[^=]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', '^pg-host-user=.+$', '[^=]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', 'user for .* was not mapped to a name\, set to .+$', '[^ ]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', 'set ownership [^\:]+', '[^ ]+$'); | ||||
|     $strLine = $self->regExpReplace($strLine, 'USER', 'cannot be used for restore\, set to .+$', '[^ ]+$'); | ||||
|   | ||||
| @@ -165,7 +165,7 @@ sub stanzaCreate | ||||
|     my $strDbVersionTemp = $strDbVersion; | ||||
|     $strDbVersionTemp =~ s/\.//; | ||||
|  | ||||
|     my $strDbPath = cfgOption(CFGOPT_DB_PATH); | ||||
|     my $strDbPath = cfgOption(CFGOPT_PG_PATH); | ||||
|  | ||||
|     # Create the test path for pg_control | ||||
|     storageTest()->pathCreate(($strDbPath . '/' . DB_PATH_GLOBAL), {bIgnoreExists => true}); | ||||
| @@ -206,11 +206,11 @@ sub stanzaUpgrade | ||||
|     $strDbVersionTemp =~ s/\.//; | ||||
|  | ||||
|     # Remove pg_control | ||||
|     storageTest()->remove(cfgOption(CFGOPT_DB_PATH) . '/' . DB_FILE_PGCONTROL); | ||||
|     storageTest()->remove(cfgOption(CFGOPT_PG_PATH) . '/' . DB_FILE_PGCONTROL); | ||||
|  | ||||
|     # Copy pg_control for stanza-upgrade | ||||
|     $self->controlGenerate(cfgOption(CFGOPT_DB_PATH), $strDbVersion); | ||||
|     executeTest('sudo chmod 600 ' . cfgOption(CFGOPT_DB_PATH) . '/' . DB_FILE_PGCONTROL); | ||||
|     $self->controlGenerate(cfgOption(CFGOPT_PG_PATH), $strDbVersion); | ||||
|     executeTest('sudo chmod 600 ' . cfgOption(CFGOPT_PG_PATH) . '/' . DB_FILE_PGCONTROL); | ||||
|  | ||||
|     $self->stanzaSet($strStanza, $strDbVersion, true); | ||||
|  | ||||
|   | ||||
| @@ -182,7 +182,7 @@ sub backupBegin | ||||
|         (defined($oExpectedManifest) ? " --no-online" : '') . | ||||
|         (defined($$oParam{strOptionalParam}) ? " $$oParam{strOptionalParam}" : '') . | ||||
|         (defined($$oParam{bStandby}) && $$oParam{bStandby} ? " --backup-standby" : '') . | ||||
|         (defined($oParam->{strRepoType}) ? " --repo-type=$oParam->{strRepoType}" : '') . | ||||
|         (defined($oParam->{strRepoType}) ? " --repo1-type=$oParam->{strRepoType}" : '') . | ||||
|         ($strType ne 'incr' ? " --type=${strType}" : '') . | ||||
|         ' --stanza=' . (defined($oParam->{strStanza}) ? $oParam->{strStanza} : $self->stanza()) . ' backup' . | ||||
|         (defined($strTest) ? " --test --test-delay=${fTestDelay} --test-point=" . lc($strTest) . '=y' : ''), | ||||
| @@ -983,37 +983,6 @@ sub stop | ||||
|     return logDebugReturn($strOperation); | ||||
| } | ||||
|  | ||||
|  | ||||
| #################################################################################################################################### | ||||
| # optionIndexName - return name for options that can be indexed (e.g. db1-host, db2-host) | ||||
| # | ||||
| # This differs from cfgOptionIndex because it allows the index number for index 1 to be ommitted for testing. | ||||
| #################################################################################################################################### | ||||
| sub optionIndexName | ||||
| { | ||||
|     my $self = shift; | ||||
|     my $iOptionId = shift; | ||||
|     my $iIndex = shift; | ||||
|     my $bForce = shift; | ||||
|  | ||||
|     # If the option doesn't have a prefix it can't be indexed | ||||
|     $iIndex = defined($iIndex) ? $iIndex : 1; | ||||
|     my $strPrefix = cfgDefOptionPrefix($iOptionId); | ||||
|  | ||||
|     if (!defined($strPrefix) && $iIndex > 1) | ||||
|     { | ||||
|         confess &log(ASSERT, "'" . cfgOptionName($iOptionId) . "' option does not allow indexing"); | ||||
|     } | ||||
|  | ||||
|     # Index 1 is the same name as the option unless forced to include the index | ||||
|     if ($iIndex == 1 && (!defined($bForce) || !$bForce)) | ||||
|     { | ||||
|         return $strPrefix . substr(cfgOptionName($iOptionId), index(cfgOptionName($iOptionId), '-')); | ||||
|     } | ||||
|  | ||||
|     return "${strPrefix}${iIndex}" . substr(cfgOptionName($iOptionId), index(cfgOptionName($iOptionId), '-')); | ||||
| } | ||||
|  | ||||
| #################################################################################################################################### | ||||
| # configCreate | ||||
| #################################################################################################################################### | ||||
| @@ -1094,7 +1063,7 @@ sub configCreate | ||||
|         if (defined($$oParam{bHardlink}) && $$oParam{bHardlink}) | ||||
|         { | ||||
|             $self->{bHardLink} = true; | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL . ':' . cfgCommandName(CFGCMD_BACKUP)}{cfgOptionName(CFGOPT_HARDLINK)} = 'y'; | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL . ':' . cfgCommandName(CFGCMD_BACKUP)}{cfgOptionName(CFGOPT_REPO_HARDLINK)} = 'y'; | ||||
|         } | ||||
|  | ||||
|         $oParamHash{&CFGDEF_SECTION_GLOBAL . ':' . cfgCommandName(CFGCMD_BACKUP)}{cfgOptionName(CFGOPT_ARCHIVE_COPY)} = 'y'; | ||||
| @@ -1107,15 +1076,10 @@ sub configCreate | ||||
|     # If this is the backup host | ||||
|     if ($self->isHostBackup()) | ||||
|     { | ||||
|         my $bForce = false; | ||||
|         my $oHostDb1 = $oHostDbMaster; | ||||
|         my $oHostDb2 = $oHostDbStandby; | ||||
|  | ||||
|         if ($self->nameTest(HOST_BACKUP)) | ||||
|         { | ||||
|             $bForce = defined($oHostDbStandby); | ||||
|         } | ||||
|         elsif ($self->nameTest(HOST_DB_STANDBY)) | ||||
|         if ($self->nameTest(HOST_DB_STANDBY)) | ||||
|         { | ||||
|             $oHostDb1 = $oHostDbStandby; | ||||
|             $oHostDb2 = $oHostDbMaster; | ||||
| @@ -1123,43 +1087,50 @@ sub configCreate | ||||
|  | ||||
|         if ($self->nameTest(HOST_BACKUP)) | ||||
|         { | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_HOST, 1, $bForce)} = $oHostDb1->nameGet(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_USER, 1, $bForce)} = $oHostDb1->userGet(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CMD, 1, $bForce)} = $oHostDb1->backrestExe(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CONFIG, 1, $bForce)} = $oHostDb1->backrestConfig(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_HOST)} = $oHostDb1->nameGet(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_HOST_USER)} = $oHostDb1->userGet(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_HOST_CMD)} = $oHostDb1->backrestExe(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_HOST_CONFIG)} = $oHostDb1->backrestConfig(); | ||||
|  | ||||
|             # Port can't be configured for a synthetic host | ||||
|             if (!$self->synthetic()) | ||||
|             { | ||||
|                 $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PORT, 1, $bForce)} = $oHostDb1->pgPort(); | ||||
|                 $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_PORT)} = $oHostDb1->pgPort(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH, 1, $bForce)} = $oHostDb1->dbBasePath(); | ||||
|         $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_PATH)} = $oHostDb1->dbBasePath(); | ||||
|  | ||||
|         if (defined($oHostDb2)) | ||||
|         { | ||||
|             # Add an invalid replica to simulate more than one replica. A warning should be thrown by dbObjectGet when a stanza is | ||||
|             # created and a valid replica should be chosen. | ||||
|             my $iInvalidReplica = 2; | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_HOST, $iInvalidReplica)} = BOGUS; | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_USER, $iInvalidReplica)} = $oHostDb2->userGet(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CMD, $iInvalidReplica)} = $oHostDb2->backrestExe(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CONFIG, $iInvalidReplica)} = $oHostDb2->backrestConfig(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH, $iInvalidReplica)} = $oHostDb2->dbBasePath(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iInvalidReplica))} = BOGUS; | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST_USER, $iInvalidReplica))} = | ||||
|                 $oHostDb2->userGet(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iInvalidReplica))} = | ||||
|                 $oHostDb2->backrestExe(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CONFIG, $iInvalidReplica))} = | ||||
|                 $oHostDb2->backrestConfig(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iInvalidReplica))} = | ||||
|                 $oHostDb2->dbBasePath(); | ||||
|  | ||||
|             # Set a valid replica to the last possible index to ensure skipping indexes does not make a difference. | ||||
|             my $iValidReplica = cfgOptionIndexTotal(CFGOPT_DB_PATH); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_HOST, $iValidReplica)} = $oHostDb2->nameGet(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_USER, $iValidReplica)} = $oHostDb2->userGet(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CMD, $iValidReplica)} = $oHostDb2->backrestExe(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CONFIG, $iValidReplica)} = $oHostDb2->backrestConfig(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH, $iValidReplica)} = $oHostDb2->dbBasePath(); | ||||
|             my $iValidReplica = cfgOptionIndexTotal(CFGOPT_PG_PATH); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iValidReplica))} = $oHostDb2->nameGet(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST_USER, $iValidReplica))} = | ||||
|                 $oHostDb2->userGet(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, $iValidReplica))} = | ||||
|                 $oHostDb2->backrestExe(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CONFIG, $iValidReplica))} = | ||||
|                 $oHostDb2->backrestConfig(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iValidReplica))} = $oHostDb2->dbBasePath(); | ||||
|  | ||||
|             # Only test explicit ports on the backup server.  This is so locally configured ports are also tested. | ||||
|             if (!$self->synthetic() && $self->nameTest(HOST_BACKUP)) | ||||
|             { | ||||
|                 $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PORT, $iValidReplica)} = $oHostDb2->pgPort(); | ||||
|                 $oParamHash{$strStanza}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_PORT, $iValidReplica))} = $oHostDb2->pgPort(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -1167,12 +1138,12 @@ sub configCreate | ||||
|     # If this is a database host | ||||
|     if ($self->isHostDb()) | ||||
|     { | ||||
|         $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH)} = $self->dbBasePath(); | ||||
|         $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_PATH)} = $self->dbBasePath(); | ||||
|  | ||||
|         if (!$self->synthetic()) | ||||
|         { | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_SOCKET_PATH)} = $self->pgSocketPath(); | ||||
|             $oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PORT)} = $self->pgPort(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_SOCKET_PATH)} = $self->pgSocketPath(); | ||||
|             $oParamHash{$strStanza}{cfgOptionName(CFGOPT_PG_PORT)} = $self->pgPort(); | ||||
|         } | ||||
|  | ||||
|         if ($bArchiveAsync) | ||||
| @@ -1186,10 +1157,10 @@ sub configCreate | ||||
|         # If the the backup host is remote | ||||
|         if (!$self->isHostBackup()) | ||||
|         { | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_BACKUP_HOST)} = $oHostBackup->nameGet(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_BACKUP_USER)} = $oHostBackup->userGet(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_BACKUP_CMD)} = $oHostBackup->backrestExe(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_BACKUP_CONFIG)} = $oHostBackup->backrestConfig(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_REPO_HOST)} = $oHostBackup->nameGet(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_REPO_HOST_USER)} = $oHostBackup->userGet(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_REPO_HOST_CMD)} = $oHostBackup->backrestExe(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_REPO_HOST_CONFIG)} = $oHostBackup->backrestConfig(); | ||||
|  | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_LOG_PATH)} = $self->logPath(); | ||||
|             $oParamHash{&CFGDEF_SECTION_GLOBAL}{cfgOptionName(CFGOPT_LOCK_PATH)} = $self->lockPath(); | ||||
| @@ -1526,14 +1497,13 @@ sub configRemap | ||||
|  | ||||
|         if ($strRemap eq MANIFEST_TARGET_PGDATA) | ||||
|         { | ||||
|             $oConfig->{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH, 1)} = $strRemapPath; | ||||
|             $oConfig->{$strStanza}{cfgOptionName(CFGOPT_PG_PATH)} = $strRemapPath; | ||||
|  | ||||
|             ${$oManifestRef}{&MANIFEST_SECTION_BACKUP_TARGET}{&MANIFEST_TARGET_PGDATA}{&MANIFEST_SUBKEY_PATH} = $strRemapPath; | ||||
|  | ||||
|             if (defined($oHostBackup)) | ||||
|             { | ||||
|                 my $bForce = $oHostBackup->nameTest(HOST_BACKUP) && defined(hostGroupGet()->hostGet(HOST_DB_STANDBY, true)); | ||||
|                 $oRemoteConfig->{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH, 1, $bForce)} = $strRemapPath; | ||||
|                 $oRemoteConfig->{$strStanza}{cfgOptionName(CFGOPT_PG_PATH)} = $strRemapPath; | ||||
|             } | ||||
|         } | ||||
|         else | ||||
|   | ||||
| @@ -145,7 +145,7 @@ sub archivePush | ||||
|         ' --config=' . $self->backrestConfig() . | ||||
|         ' --log-level-console=warn --archive-queue-max=' . int(2 * PG_WAL_SIZE) . | ||||
|         ' --stanza=' . $self->stanza() . | ||||
|         (defined($iExpectedError) && $iExpectedError == ERROR_FILE_READ ? ' --backup-host=bogus' : '') . | ||||
|         (defined($iExpectedError) && $iExpectedError == ERROR_FILE_READ ? ' --repo1-host=bogus' : '') . | ||||
|         ($bAsync ? '' : ' --no-archive-async') . | ||||
|         " archive-push" . (defined($strSourceFile) ? " ${strSourceFile}" : ''), | ||||
|         {iExpectedExitStatus => $iExpectedError, oLogTest => $self->{oLogTest}, bLogOutput => $self->synthetic()}); | ||||
|   | ||||
| @@ -31,18 +31,9 @@ use pgBackRestTest::Env::Host::HostDbCommonTest; | ||||
| use pgBackRestTest::Common::ContainerTest; | ||||
| use pgBackRestTest::Common::RunTest; | ||||
|  | ||||
| #################################################################################################################################### | ||||
| # Host parameters | ||||
| #################################################################################################################################### | ||||
| use constant HOST_PARAM_DB_LOG_FILE                                 => 'db-log-file'; | ||||
| use constant HOST_PARAM_DB_LOG_PATH                                 => 'db-log-path'; | ||||
| use constant HOST_PARAM_DB_PORT                                     => 'db-port'; | ||||
| use constant HOST_PARAM_DB_SOCKET_PATH                              => 'db-socket-path'; | ||||
|  | ||||
| #################################################################################################################################### | ||||
| # Db defaults | ||||
| #################################################################################################################################### | ||||
| use constant HOST_DB_PORT                                           => 6543; | ||||
| use constant HOST_DB_DEFAULT                                        => 'postgres'; | ||||
| use constant HOST_DB_TIMEOUT                                        => 30; | ||||
|  | ||||
|   | ||||
| @@ -162,7 +162,7 @@ sub setup | ||||
|     } | ||||
|  | ||||
|     # Set options needed for storage helper | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $oHostDbMaster->dbBasePath()); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $oHostDbMaster->dbBasePath()); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $oHostBackup->repoPath()); | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|  | ||||
|   | ||||
| @@ -32,31 +32,31 @@ sub run | ||||
|     ################################################################################################################################ | ||||
|     if ($self->begin("${strModule}::walPath()")) | ||||
|     { | ||||
|         my $strDbPath = '/db'; | ||||
|         my $strPgPath = '/db'; | ||||
|         my $strWalFileRelative = 'pg_wal/000000010000000100000001'; | ||||
|         my $strWalFileAbsolute = "${strDbPath}/${strWalFileRelative}"; | ||||
|         my $strWalFileAbsolute = "${strPgPath}/${strWalFileRelative}"; | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         $self->testException( | ||||
|             sub {walPath($strWalFileRelative, undef, cfgCommandName(CFGCMD_ARCHIVE_GET))}, ERROR_OPTION_REQUIRED, | ||||
|             "option 'db-path' must be specified when relative wal paths are used\n" . | ||||
|             "option 'pg1-path' must be specified when relative wal paths are used\n" . | ||||
|             "HINT: Is \%f passed to " . cfgCommandName(CFGCMD_ARCHIVE_GET) . " instead of \%p?\n" . | ||||
|             "HINT: PostgreSQL may pass relative paths even with \%p depending on the environment."); | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         $self->testResult( | ||||
|             sub {walPath($strWalFileRelative, $strDbPath, cfgCommandName(CFGCMD_ARCHIVE_PUSH))}, $strWalFileAbsolute, | ||||
|             sub {walPath($strWalFileRelative, $strPgPath, cfgCommandName(CFGCMD_ARCHIVE_PUSH))}, $strWalFileAbsolute, | ||||
|             'relative path is contructed'); | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         $self->testResult( | ||||
|             sub {walPath($strWalFileAbsolute, $strDbPath, cfgCommandName(CFGCMD_ARCHIVE_PUSH))}, $strWalFileAbsolute, | ||||
|             'path is not relative and db-path is still specified'); | ||||
|             sub {walPath($strWalFileAbsolute, $strPgPath, cfgCommandName(CFGCMD_ARCHIVE_PUSH))}, $strWalFileAbsolute, | ||||
|             'path is not relative and pg-path is still specified'); | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         $self->testResult( | ||||
|             sub {walPath($strWalFileAbsolute, $strDbPath, cfgCommandName(CFGCMD_ARCHIVE_PUSH))}, $strWalFileAbsolute, | ||||
|             'path is not relative and db-path is undef'); | ||||
|             sub {walPath($strWalFileAbsolute, $strPgPath, cfgCommandName(CFGCMD_ARCHIVE_PUSH))}, $strWalFileAbsolute, | ||||
|             'path is not relative and pg-path is undef'); | ||||
|     } | ||||
|  | ||||
|     ################################################################################################################################ | ||||
|   | ||||
| @@ -55,7 +55,7 @@ sub initTest | ||||
|     $self->configTestClear(); | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->testPath() . '/repo'); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->configTestLoad(CFGCMD_ARCHIVE_GET); | ||||
|  | ||||
|     # Create archive info path | ||||
|   | ||||
| @@ -80,7 +80,7 @@ sub initOption | ||||
|     my $self = shift; | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->{strRepoPath}); | ||||
|     $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|     $self->optionTestSetBool(CFGOPT_COMPRESS, false); | ||||
| @@ -184,8 +184,8 @@ sub run | ||||
|         my $iWalMajor = 1; | ||||
|         my $iWalMinor = 1; | ||||
|  | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_HOST, 'localhost'); | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_USER, $self->pgUser()); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST, 'localhost'); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST_USER, $self->pgUser()); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|         protocolGet(CFGOPTVAL_REMOTE_TYPE_BACKUP, undef, {strBackRestBin => $self->backrestExe()}); | ||||
| @@ -207,8 +207,8 @@ sub run | ||||
|         # Destroy protocol object | ||||
|         protocolDestroy(); | ||||
|  | ||||
|         $self->optionTestClear(CFGOPT_BACKUP_HOST); | ||||
|         $self->optionTestClear(CFGOPT_BACKUP_USER); | ||||
|         $self->optionTestClear(CFGOPT_REPO_HOST); | ||||
|         $self->optionTestClear(CFGOPT_REPO_HOST_USER); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|     } | ||||
|  | ||||
| @@ -573,15 +573,15 @@ sub run | ||||
|         my $iProcessId = $PID; | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         # Set db-host to trick archive-push into thinking it is running on the backup server | ||||
|         $self->optionTestSet(CFGOPT_DB_HOST, BOGUS); | ||||
|         # Set pg-host to trick archive-push into thinking it is running on the backup server | ||||
|         $self->optionTestSet(CFGOPT_PG_HOST, BOGUS); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|         $self->testException(sub {$oPush->process(undef)}, ERROR_HOST_INVALID, 'archive-push operation must run on db host'); | ||||
|  | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         # Reset db-host | ||||
|         $self->optionTestClear(CFGOPT_DB_HOST); | ||||
|         # Reset pg-host | ||||
|         $self->optionTestClear(CFGOPT_PG_HOST); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|         $self->testException(sub {$oPush->process(undef)}, ERROR_PARAM_REQUIRED, 'WAL file to push required'); | ||||
| @@ -657,7 +657,7 @@ sub run | ||||
|         $strSegment = $self->walSegment($iWalTimeline, $iWalMajor, $iWalMinor++); | ||||
|         $self->walGenerate($self->{strWalPath}, PG_VERSION_94, 1, $strSegment); | ||||
|  | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_HOST, BOGUS); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST, BOGUS); | ||||
|         $self->optionTestSet(CFGOPT_PROTOCOL_TIMEOUT, 60); | ||||
|         $self->optionTestSet(CFGOPT_ARCHIVE_TIMEOUT, 5); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
| @@ -690,7 +690,7 @@ sub run | ||||
|             $strErrorFileContents =~ ("42\nremote process on '" . BOGUS . "' terminated.*"), true, "check error file contents"); | ||||
|  | ||||
|         # Disable async archiving | ||||
|         $self->optionTestClear(CFGOPT_BACKUP_HOST); | ||||
|         $self->optionTestClear(CFGOPT_REPO_HOST); | ||||
|         $self->optionTestClear(CFGOPT_PROTOCOL_TIMEOUT); | ||||
|         $self->optionTestClear(CFGOPT_ARCHIVE_TIMEOUT); | ||||
|         $self->optionTestClear(CFGOPT_ARCHIVE_ASYNC); | ||||
|   | ||||
| @@ -43,7 +43,7 @@ sub initStanzaOption | ||||
|     my $oHostS3 = shift; | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $strDbBasePath); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $strDbBasePath); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $strRepoPath); | ||||
|     $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|  | ||||
| @@ -236,7 +236,7 @@ sub run | ||||
|  | ||||
|             #----------------------------------------------------------------------------------------------------------------------- | ||||
|             $self->optionTestClear(CFGOPT_DB_TIMEOUT); | ||||
|             $self->optionTestClear(CFGOPT_DB_PATH); | ||||
|             $self->optionTestClear(CFGOPT_PG_PATH); | ||||
|             $self->optionTestClear(CFGOPT_ONLINE); | ||||
|             $self->optionTestClear(CFGOPT_PROTOCOL_TIMEOUT); | ||||
|             $self->optionTestSet(CFGOPT_RETENTION_FULL, 1); | ||||
|   | ||||
| @@ -103,7 +103,7 @@ sub initStanzaCreate | ||||
|     } | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $strStanza); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->{strRepoPath}); | ||||
|     $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|     $self->optionTestSetBool(CFGOPT_ONLINE, false); | ||||
| @@ -136,7 +136,7 @@ sub initStanzaUpgrade | ||||
|     my $rhConfig = $self->configTestClear(); | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->{strRepoPath}); | ||||
|     $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|     $self->optionTestSetBool(CFGOPT_ONLINE, false); | ||||
| @@ -233,9 +233,9 @@ sub run | ||||
|  | ||||
|         # Test !isRepoLocal branch | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|         cfgOptionSet(CFGOPT_BACKUP_HOST, false); | ||||
|         cfgOptionSet(CFGOPT_BACKUP_CONFIG, BOGUS); | ||||
|         $self->testException(sub {$oInfo->stanzaList(BOGUS)}, ERROR_ASSERT, "option backup-cmd is required"); | ||||
|         cfgOptionSet(CFGOPT_REPO_HOST, false); | ||||
|         cfgOptionSet(CFGOPT_REPO_HOST_CONFIG, BOGUS); | ||||
|         $self->testException(sub {$oInfo->stanzaList(BOGUS)}, ERROR_ASSERT, "option repo1-host-cmd is required"); | ||||
|  | ||||
|         # dbArchiveSection() -- no archive | ||||
|         #--------------------------------------------------------------------------------------------------------------------------- | ||||
|   | ||||
| @@ -136,7 +136,7 @@ sub run | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->{strRepoPath}); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|     my $strBackupLabel = backupLabelFormat(CFGOPTVAL_BACKUP_TYPE_FULL, undef, 1482000000); | ||||
|   | ||||
| @@ -335,9 +335,9 @@ sub run | ||||
|                     # Pass ssh path to make sure it is used | ||||
|                     ($bRemote ? ' --' . cfgOptionName(CFGOPT_CMD_SSH) . '=/usr/bin/ssh' : '') . | ||||
|                     # Pass bogus ssh port to make sure it is passed through the protocol layer (it won't be used) | ||||
|                     ($bRemote ? ' --' . cfgOptionName(CFGOPT_DB_PORT) . '=9999' : '') . | ||||
|                     ($bRemote ? ' --' . cfgOptionName(CFGOPT_PG_PORT) . '=9999' : '') . | ||||
|                     # Pass bogus socket path to make sure it is passed through the protocol layer (it won't be used) | ||||
|                     ($bRemote ? ' --' . cfgOptionName(CFGOPT_DB_SOCKET_PATH) . ' =/test_socket_path' : '') . | ||||
|                     ($bRemote ? ' --' . cfgOptionName(CFGOPT_PG_SOCKET_PATH) . ' =/test_socket_path' : '') . | ||||
|                     ' --' . cfgOptionName(CFGOPT_BUFFER_SIZE) . '=16384 --' . cfgOptionName(CFGOPT_CHECKSUM_PAGE) . | ||||
|                     ' --' . cfgOptionName(CFGOPT_PROCESS_MAX) . '=1', | ||||
|                 strRepoType => $bS3 ? undef : CFGOPTVAL_REPO_TYPE_CIFS, strTest => $strTestPoint, fTestDelay => 0}); | ||||
| @@ -589,7 +589,7 @@ sub run | ||||
|             $oHostBackup->restore( | ||||
|                 'on backup host', $strFullBackup, | ||||
|                 {rhExpectedManifest => \%oManifest, strUser => TEST_USER, | ||||
|                     strOptionalParam => "${strLogReduced} --no-db1-host --db-path=${strBackupHostDbPath}"}); | ||||
|                     strOptionalParam => "${strLogReduced} --no-pg1-host --pg1-path=${strBackupHostDbPath}"}); | ||||
|  | ||||
|             $oHostDbMaster->backup( | ||||
|                 $strType, 'backup errors on db host', | ||||
| @@ -1081,7 +1081,7 @@ sub run | ||||
|         # Enable hardlinks (except for s3) to ensure a warning is raised | ||||
|         if (!$bS3) | ||||
|         { | ||||
|             $oHostBackup->configUpdate({&CFGDEF_SECTION_GLOBAL => {cfgOptionName(CFGOPT_HARDLINK) => 'y'}}); | ||||
|             $oHostBackup->configUpdate({&CFGDEF_SECTION_GLOBAL => {cfgOptionName(CFGOPT_REPO_HARDLINK) => 'y'}}); | ||||
|         } | ||||
|  | ||||
|         $oBackupExecute = $oHostBackup->backupBegin( | ||||
|   | ||||
| @@ -62,11 +62,11 @@ sub run | ||||
|     { | ||||
|         # Setup the remote for testing remote storage | ||||
|         $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|         $self->optionTestSet(CFGOPT_DB_PATH, $self->testPath()); | ||||
|         $self->optionTestSet(CFGOPT_PG_PATH, $self->testPath()); | ||||
|         $self->optionTestSet(CFGOPT_REPO_PATH, $self->testPath()); | ||||
|         $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_HOST, 'localhost'); | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_USER, $self->backrestUser()); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST, 'localhost'); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST_USER, $self->backrestUser()); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|         protocolGet(CFGOPTVAL_REMOTE_TYPE_BACKUP, undef, {strBackRestBin => $self->backrestExe()}); | ||||
|   | ||||
| @@ -63,7 +63,7 @@ sub initOption | ||||
|     $self->configTestClear(); | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->{strRepoPath}); | ||||
|     $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|     $self->optionTestSetBool(CFGOPT_COMPRESS, false); | ||||
| @@ -84,20 +84,20 @@ sub run | ||||
|     if ($self->begin('protocolParam()')) | ||||
|     { | ||||
|         $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_HOST, 1), 'db-host-1'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_PATH, 1), '/db1'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_PORT, 1), '1111'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_CMD, 1), 'pgbackrest1'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_HOST, 2), 'db-host-2'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_PATH, 2), '/db2'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_PORT, 2), '2222'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_DB_CMD, 2), 'pgbackrest2'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_HOST, 1), 'pg-host-1'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_PATH, 1), '/db1'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_PORT, 1), '1111'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, 1), 'pgbackrest1'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_HOST, 2), 'pg-host-2'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_PATH, 2), '/db2'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_PORT, 2), '2222'); | ||||
|         $self->optionTestSet(cfgOptionIdFromIndex(CFGOPT_PG_HOST_CMD, 2), 'pgbackrest2'); | ||||
|         $self->configTestLoad(CFGCMD_BACKUP); | ||||
|  | ||||
|         $self->testResult( | ||||
|             sub {pgBackRest::Protocol::Helper::protocolParam(cfgCommandName(CFGCMD_BACKUP), CFGOPTVAL_REMOTE_TYPE_DB, 2)}, | ||||
|             '(db-host-2, postgres, [undef], pgbackrest2 --buffer-size=4194304 --command=backup --compress-level=6' . | ||||
|                 ' --compress-level-network=3 --db1-path=/db2 --db1-port=2222 --protocol-timeout=1830 --stanza=db --type=db remote)', | ||||
|             '(pg-host-2, postgres, [undef], pgbackrest2 --buffer-size=4194304 --command=backup --compress-level=6' . | ||||
|                 ' --compress-level-network=3 --pg1-path=/db2 --pg1-port=2222 --protocol-timeout=1830 --stanza=db --type=db remote)', | ||||
|             'more than one backup db host'); | ||||
|     } | ||||
|  | ||||
| @@ -105,8 +105,8 @@ sub run | ||||
|     if ($self->begin("Protocol::Helper")) | ||||
|     { | ||||
|         $self->initOption(); | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_HOST, 'localhost'); | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_USER, $self->pgUser()); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST, 'localhost'); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST_USER, $self->pgUser()); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|         $self->testResult( | ||||
| @@ -116,7 +116,7 @@ sub run | ||||
|         # Destroy protocol object | ||||
|         protocolDestroy(); | ||||
|  | ||||
|         $self->optionTestSet(CFGOPT_BACKUP_SSH_PORT, 25); | ||||
|         $self->optionTestSet(CFGOPT_REPO_HOST_PORT, 25); | ||||
|         $self->configTestLoad(CFGCMD_ARCHIVE_PUSH); | ||||
|  | ||||
|         $self->testException( | ||||
|   | ||||
| @@ -311,7 +311,7 @@ sub run | ||||
|                 forceStorageRemove(storageRepo(), STORAGE_REPO_BACKUP . qw{/} . FILE_BACKUP_INFO . INI_COPY_EXT); | ||||
|             } | ||||
|  | ||||
|             # Change the database version by copying a new pg_control file to a new db-path to use for db mismatch test | ||||
|             # Change the database version by copying a new pg_control file to a new pg-path to use for db mismatch test | ||||
|             storageDb()->pathCreate( | ||||
|                 $oHostDbMaster->dbPath() . '/testbase/' . DB_PATH_GLOBAL, | ||||
|                 {strMode => '0700', bIgnoreExists => true, bCreateParent => true}); | ||||
| @@ -320,9 +320,9 @@ sub run | ||||
|  | ||||
|             if (!$bRepoEncrypt) | ||||
|             { | ||||
|                 # Run stanza-create online to confirm proper handling of configValidation error against new db-path | ||||
|                 # Run stanza-create online to confirm proper handling of configValidation error against new pg-path | ||||
|                 $oHostBackup->stanzaCreate('fail on database mismatch with directory', | ||||
|                     {strOptionalParam => ' --' . $oHostBackup->optionIndexName(CFGOPT_DB_PATH, 1) . '=' . $oHostDbMaster->dbPath() . | ||||
|                     {strOptionalParam => ' --' . cfgOptionName(CFGOPT_PG_PATH) . '=' . $oHostDbMaster->dbPath() . | ||||
|                     '/testbase/', iExpectedExitStatus => ERROR_DB_MISMATCH}); | ||||
|             } | ||||
|             # If encrypted, need to clean out repo and recreate | ||||
| @@ -334,10 +334,10 @@ sub run | ||||
|  | ||||
|             # Stanza Upgrade - tests configValidate code - all other tests in synthetic integration tests | ||||
|             #----------------------------------------------------------------------------------------------------------------------- | ||||
|             # Run stanza-create offline with --force to create files needing to be upgraded (using new db-path) | ||||
|             # Run stanza-create offline with --force to create files needing to be upgraded (using new pg-path) | ||||
|             $oHostBackup->stanzaCreate('successfully create stanza files to be upgraded', | ||||
|                 {strOptionalParam => | ||||
|                     ' --' . $oHostBackup->optionIndexName(CFGOPT_DB_PATH, 1) . '=' . $oHostDbMaster->dbPath() . | ||||
|                     ' --' . cfgOptionName(CFGOPT_PG_PATH) . '=' . $oHostDbMaster->dbPath() . | ||||
|                     '/testbase/ --no-' .  cfgOptionName(CFGOPT_ONLINE) . ' --' . cfgOptionName(CFGOPT_FORCE)}); | ||||
|             my $oAchiveInfo = new pgBackRest::Archive::Info(storageRepo()->pathGet('archive/' . $self->stanza())); | ||||
|             my $oBackupInfo = new pgBackRest::Backup::Info(storageRepo()->pathGet('backup/' . $self->stanza())); | ||||
| @@ -346,19 +346,19 @@ sub run | ||||
|             if ($self->pgVersion() eq PG_VERSION_94) | ||||
|             { | ||||
|                 $self->testResult(sub {$oAchiveInfo->test(INFO_ARCHIVE_SECTION_DB, INFO_ARCHIVE_KEY_DB_VERSION, undef, | ||||
|                     PG_VERSION_95)}, true, 'archive upgrade forced with db-mismatch'); | ||||
|                     PG_VERSION_95)}, true, 'archive upgrade forced with pg mismatch'); | ||||
|                 $self->testResult(sub {$oBackupInfo->test(INFO_BACKUP_SECTION_DB, INFO_BACKUP_KEY_DB_VERSION, undef, | ||||
|                     PG_VERSION_95)}, true, 'backup upgrade forced with db-mismatch'); | ||||
|                     PG_VERSION_95)}, true, 'backup upgrade forced with pg mismatch'); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 $self->testResult(sub {$oAchiveInfo->test(INFO_ARCHIVE_SECTION_DB, INFO_ARCHIVE_KEY_DB_VERSION, undef, | ||||
|                     PG_VERSION_94)}, true, 'archive create forced with db-mismatch in prep for stanza-upgrade'); | ||||
|                     PG_VERSION_94)}, true, 'archive create forced with pg mismatch in prep for stanza-upgrade'); | ||||
|                 $self->testResult(sub {$oBackupInfo->test(INFO_BACKUP_SECTION_DB, INFO_BACKUP_KEY_DB_VERSION, undef, | ||||
|                     PG_VERSION_94)}, true, 'backup create forced with db-mismatch in prep for stanza-upgrade'); | ||||
|                     PG_VERSION_94)}, true, 'backup create forced with pg mismatch in prep for stanza-upgrade'); | ||||
|             } | ||||
|  | ||||
|             # Run stanza-upgrade online with the default db-path to correct the info files | ||||
|             # Run stanza-upgrade online with the default pg-path to correct the info files | ||||
|             $oHostBackup->stanzaUpgrade('upgrade stanza files online'); | ||||
|  | ||||
|             # Reread the info files and confirm the result | ||||
| @@ -460,7 +460,7 @@ sub run | ||||
|  | ||||
|             if ($oHostDbStandby->pgVersion() >= PG_VERSION_BACKUP_STANDBY) | ||||
|             { | ||||
|                 # If there is only a master and a replica and the replica is the backup destination, then if db2-host and db3-host | ||||
|                 # If there is only a master and a replica and the replica is the backup destination, then if pg2-host and pg3-host | ||||
|                 # are BOGUS, confirm failure to reach the master | ||||
|                 if (!$bHostBackup && $bHostStandby && $strBackupDestination eq HOST_DB_STANDBY) | ||||
|                 { | ||||
| @@ -469,7 +469,7 @@ sub run | ||||
|                         {bStandby => true, | ||||
|                          iExpectedExitStatus => ERROR_DB_CONNECT, | ||||
|                          strOptionalParam => '--' . | ||||
|                          $oHostBackup->optionIndexName(CFGOPT_DB_HOST, cfgOptionIndexTotal(CFGOPT_DB_PATH)) . '=' . BOGUS}); | ||||
|                          cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST, cfgOptionIndexTotal(CFGOPT_PG_PATH))) . '=' . BOGUS}); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
| @@ -478,7 +478,7 @@ sub run | ||||
|                         {bStandby => true, | ||||
|                          iExpectedExitStatus => ERROR_HOST_CONNECT, | ||||
|                          strOptionalParam => '--' . | ||||
|                          $oHostBackup->optionIndexName(CFGOPT_DB_HOST, cfgOptionIndexTotal(CFGOPT_DB_PATH)) . '=' . BOGUS}); | ||||
|                          cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST, cfgOptionIndexTotal(CFGOPT_PG_PATH))) . '=' . BOGUS}); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
| @@ -499,14 +499,14 @@ sub run | ||||
|             executeTest("sudo chown root:root ${strDir}"); | ||||
|             executeTest("sudo chmod 400 ${strDir}"); | ||||
|  | ||||
|             # Determine if there is an invalid db-host from the config file | ||||
|             # Determine if there is an invalid pg-host from the config file | ||||
|             my $rhConfig = iniParse(${storageTest()->get($oHostDbStandby->backrestConfig())}, {bRelaxed => true}); | ||||
|             my $bBogusHost = false; | ||||
|  | ||||
|             for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_DB_HOST); $iRemoteIdx++) | ||||
|             for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_PG_HOST); $iRemoteIdx++) | ||||
|             { | ||||
|                 if (defined($rhConfig->{$self->stanza()}{$oHostDbStandby->optionIndexName(CFGOPT_DB_HOST, $iRemoteIdx)}) && | ||||
|                     ($rhConfig->{$self->stanza()}{$oHostDbStandby->optionIndexName(CFGOPT_DB_HOST, $iRemoteIdx)} eq BOGUS)) | ||||
|                 if (defined($rhConfig->{$self->stanza()}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iRemoteIdx))}) && | ||||
|                     ($rhConfig->{$self->stanza()}{cfgOptionName(cfgOptionIdFromIndex(CFGOPT_PG_HOST, $iRemoteIdx))} eq BOGUS)) | ||||
|                 { | ||||
|                     $bBogusHost = true; | ||||
|                     last; | ||||
|   | ||||
| @@ -44,7 +44,7 @@ sub run | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_VERSION)); | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_HELP)); | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_HELP) . ' version'); | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_HELP) . ' --output=json --stanza=main --backup-host=backup info'); | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_HELP) . ' --output=json --stanza=main --repo1-host=backup info'); | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_HELP) . ' --output=json --stanza=main info output'); | ||||
|         $self->helpExecute(cfgCommandName(CFGCMD_HELP) . ' check'); | ||||
|     } | ||||
|   | ||||
| @@ -79,7 +79,7 @@ sub run | ||||
|     my $self = shift; | ||||
|  | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->{strDbPath}); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->{strRepoPath}); | ||||
|     $self->optionTestSet(CFGOPT_LOG_PATH, $self->testPath()); | ||||
|  | ||||
|   | ||||
| @@ -50,7 +50,7 @@ sub run | ||||
|     my $iFileSize = length($strFileContent); | ||||
|  | ||||
|     # Setup parameters | ||||
|     $self->optionTestSet(CFGOPT_DB_PATH, $self->testPath() . '/db'); | ||||
|     $self->optionTestSet(CFGOPT_PG_PATH, $self->testPath() . '/db'); | ||||
|     $self->optionTestSet(CFGOPT_REPO_PATH, $self->testPath() . '/repo'); | ||||
|     $self->optionTestSet(CFGOPT_SPOOL_PATH, $self->testPath() . '/spool'); | ||||
|     $self->optionTestSet(CFGOPT_STANZA, $self->stanza()); | ||||
|   | ||||
| @@ -27,11 +27,11 @@ testRun() | ||||
|         cfgOptionNegateSet(cfgOptConfig, true); | ||||
|         cfgOptionSet(cfgOptConfig, cfgSourceParam, NULL); | ||||
|  | ||||
|         cfgOptionValidSet(cfgOptDbHost, true); | ||||
|         cfgOptionSet(cfgOptDbHost, cfgSourceConfig, NULL); | ||||
|         cfgOptionValidSet(cfgOptPgHost, true); | ||||
|         cfgOptionSet(cfgOptPgHost, cfgSourceConfig, NULL); | ||||
|  | ||||
|         cfgOptionValidSet(cfgOptBackupHost, true); | ||||
|         cfgOptionSet(cfgOptBackupHost, cfgSourceConfig, varNewStr(strNew("backup1"))); | ||||
|         cfgOptionValidSet(cfgOptRepoHost, true); | ||||
|         cfgOptionSet(cfgOptRepoHost, cfgSourceConfig, varNewStr(strNew("backup1"))); | ||||
|  | ||||
|         cfgOptionValidSet(cfgOptRepoPath, true); | ||||
|         cfgOptionSet(cfgOptRepoPath, cfgSourceConfig, varNewStr(strNew("/path/to the/repo"))); | ||||
| @@ -41,8 +41,8 @@ testRun() | ||||
|  | ||||
|         cmdBegin(); | ||||
|         testLogResult( | ||||
|             "P00   INFO: archive-get command begin " PGBACKREST_VERSION ": --backup-host=backup1 --compress --no-config " | ||||
|                 "--repo-path=\"/path/to the/repo\" --repo-s3-key=<redacted>"); | ||||
|             "P00   INFO: archive-get command begin " PGBACKREST_VERSION ": --compress --no-config --repo1-host=backup1 " | ||||
|                 "--repo1-path=\"/path/to the/repo\" --repo1-s3-key=<redacted>"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         cmdEnd(0); | ||||
|   | ||||
| @@ -65,13 +65,13 @@ testRun() | ||||
|             "compress=y \n" | ||||
|             "\n" | ||||
|             " [db]\n" | ||||
|             "db-path = /path/to/pg" | ||||
|             "pg1-path = /path/to/pg" | ||||
|         ); | ||||
|  | ||||
|         TEST_RESULT_VOID(iniParse(ini, content), "load ini"); | ||||
|  | ||||
|         TEST_RESULT_STR(strPtr(varStr(iniGet(ini, strNew("global"), strNew("compress")))), "y", "get compress"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(iniGet(ini, strNew("db"), strNew("db-path")))), "/path/to/pg", "get db-path"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(iniGet(ini, strNew("db"), strNew("pg1-path")))), "/path/to/pg", "get pg1-path"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         TEST_ASSIGN(ini, iniNew(), "new ini"); | ||||
| @@ -84,7 +84,7 @@ testRun() | ||||
|             "           \n" | ||||
|             " compress= y \n" | ||||
|             "[db]\t\r\n" | ||||
|             " db-path =/path/to/pg\n" | ||||
|             " pg1-path =/path/to/pg\n" | ||||
|             "\n" | ||||
|         ); | ||||
|  | ||||
| @@ -92,6 +92,6 @@ testRun() | ||||
|         TEST_RESULT_VOID(iniLoad(ini, fileName), "load ini from file"); | ||||
|  | ||||
|         TEST_RESULT_STR(strPtr(varStr(iniGet(ini, strNew("global"), strNew("compress")))), "y", "get compress"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(iniGet(ini, strNew("db"), strNew("db-path")))), "/path/to/pg", "get db-path"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(iniGet(ini, strNew("db"), strNew("pg1-path")))), "/path/to/pg", "get pg1-path"); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -50,19 +50,19 @@ testRun() | ||||
|         TEST_ERROR(cfgCommandName(-1), AssertError, commandIdInvalidLowError); | ||||
|         TEST_RESULT_STR(cfgCommandName(cfgCmdBackup), "backup", "command name from id"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgOptionDefIdFromId(cfgOptDbHost + 6), cfgDefOptDbHost, "option id to def id"); | ||||
|         TEST_RESULT_INT(cfgOptionDefIdFromId(cfgOptPgHost + 6), cfgDefOptPgHost, "option id to def id"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgOptionId("target"), cfgOptTarget, "option id from name"); | ||||
|         TEST_RESULT_INT(cfgOptionId(BOGUS_STR), -1, "option id from invalid option name"); | ||||
|  | ||||
|         TEST_ERROR(cfgOptionIdFromDefId(cfgDefOptionTotal(), 6), AssertError, optionDefIdInvalidHighError); | ||||
|         TEST_RESULT_INT(cfgOptionIdFromDefId(cfgDefOptDbHost, 6), cfgOptDbHost + 6, "option def id to id"); | ||||
|         TEST_RESULT_INT(cfgOptionIdFromDefId(cfgDefOptPgHost, 6), cfgOptPgHost + 6, "option def id to id"); | ||||
|  | ||||
|         TEST_ERROR(cfgOptionIndex(CFG_OPTION_TOTAL), AssertError, optionIdInvalidHighError); | ||||
|         TEST_RESULT_INT(cfgOptionIndex(cfgOptDbCmd + 6), 6, "option index"); | ||||
|         TEST_RESULT_INT(cfgOptionIndex(cfgOptPgHostCmd + 6), 6, "option index"); | ||||
|         TEST_RESULT_INT(cfgOptionIndex(cfgOptCompressLevel), 0, "option index"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgOptionIndexTotal(cfgOptDbPath), 8, "option index total"); | ||||
|         TEST_RESULT_INT(cfgOptionIndexTotal(cfgOptPgPath), 8, "option index total"); | ||||
|         TEST_RESULT_INT(cfgOptionIndexTotal(cfgOptLogLevelConsole), 1, "option index total"); | ||||
|  | ||||
|         TEST_ERROR(cfgOptionName(-1), AssertError, optionIdInvalidLowError); | ||||
| @@ -170,16 +170,16 @@ testRun() | ||||
|         TEST_RESULT_INT(varInt(cfgOptionDefault(cfgOptCompressLevel)), 6, "backup compress-level default"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptDbInclude), NULL, "backup db-include default is null"); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgOptionSet(cfgOptDbHost, cfgSourceParam, varNewStrZ("backup")), "backup host set"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptDbHost, varNewStrZ("backup-default")), "backup host default"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptDbHost, varNewStrZ("backup-default2")), "reset backup host default"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOption(cfgOptDbHost))), "backup", "backup host value"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptDbHost))), "backup-default2", "backup host default"); | ||||
|         TEST_RESULT_VOID(cfgOptionSet(cfgOptPgHost, cfgSourceParam, varNewStrZ("backup")), "backup host set"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgHost, varNewStrZ("backup-default")), "backup host default"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgHost, varNewStrZ("backup-default2")), "reset backup host default"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOption(cfgOptPgHost))), "backup", "backup host value"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptPgHost))), "backup-default2", "backup host default"); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgOptionSet(cfgOptDbSocketPath, cfgSourceDefault, NULL), "backup db-socket-path set"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptDbSocketPath, varNewStrZ("/to/socket")), "backup db-socket-path default"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptDbSocketPath, varNewStrZ("/to/socket2")), "reset backup db-socket-path default"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOption(cfgOptDbSocketPath))), "/to/socket2", "backup db-socket-path value"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptDbSocketPath))), "/to/socket2", "backup db-socket-path value default"); | ||||
|         TEST_RESULT_VOID(cfgOptionSet(cfgOptPgSocketPath, cfgSourceDefault, NULL), "backup pg-socket-path set"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgSocketPath, varNewStrZ("/to/socket")), "backup pg-socket-path default"); | ||||
|         TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgSocketPath, varNewStrZ("/to/socket2")), "reset backup pg-socket-path default"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOption(cfgOptPgSocketPath))), "/to/socket2", "backup pg-socket-path value"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptPgSocketPath))), "/to/socket2", "backup pg-socket-path value default"); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -39,8 +39,11 @@ testRun() | ||||
|         TEST_RESULT_STR(cfgDefOptionName(cfgDefOptConfig), "config", "option name"); | ||||
|         TEST_ERROR(cfgDefOptionName(-1), AssertError, optionIdInvalidLowError); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgDefOptionId("repo-host"), cfgDefOptRepoHost, "define id"); | ||||
|         TEST_RESULT_INT(cfgDefOptionId(BOGUS_STR), -1, "invalid define id"); | ||||
|  | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowList(cfgDefCmdBackup, cfgDefOptLogLevelConsole), true, "allow list valid"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowList(cfgDefCmdBackup, cfgDefOptDbHost), false, "allow list not valid"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowList(cfgDefCmdBackup, cfgDefOptPgHost), false, "allow list not valid"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowList(cfgDefCmdBackup, cfgDefOptType), true, "command allow list valid"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgDefOptionAllowListValueTotal(cfgDefCmdBackup, cfgDefOptType), 3, "allow list total"); | ||||
| @@ -58,7 +61,7 @@ testRun() | ||||
|             cfgDefOptionAllowListValueValid(cfgDefCmdBackup, cfgDefOptType, BOGUS_STR), false, "allow list value not valid"); | ||||
|  | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowRange(cfgDefCmdBackup, cfgDefOptCompressLevel), true, "range allowed"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowRange(cfgDefCmdBackup, cfgDefOptBackupHost), false, "range not allowed"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionAllowRange(cfgDefCmdBackup, cfgDefOptRepoHost), false, "range not allowed"); | ||||
|  | ||||
|         TEST_RESULT_DOUBLE(cfgDefOptionAllowRangeMin(cfgDefCmdBackup, cfgDefOptDbTimeout), 0.1, "range min"); | ||||
|         TEST_RESULT_DOUBLE(cfgDefOptionAllowRangeMax(cfgDefCmdBackup, cfgDefOptCompressLevel), 9, "range max"); | ||||
| @@ -68,13 +71,13 @@ testRun() | ||||
|         TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptCompressLevel), "6", "option default exists"); | ||||
|         TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdRestore, cfgDefOptType), "default", "command default exists"); | ||||
|         TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdLocal, cfgDefOptType), NULL, "command default does not exist"); | ||||
|         TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptBackupHost), NULL, "default does not exist"); | ||||
|         TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptRepoHost), NULL, "default does not exist"); | ||||
|  | ||||
|         TEST_RESULT_BOOL(cfgDefOptionDepend(cfgDefCmdRestore, cfgDefOptRepoS3Key), true, "has depend option"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionDepend(cfgDefCmdRestore, cfgDefOptType), false, "does not have depend option"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgDefOptionDependOption(cfgDefCmdBackup, cfgDefOptDbUser), cfgDefOptDbHost, "depend option id"); | ||||
|         TEST_RESULT_INT(cfgDefOptionDependOption(cfgDefCmdBackup, cfgDefOptBackupCmd), cfgDefOptBackupHost, "depend option id"); | ||||
|         TEST_RESULT_INT(cfgDefOptionDependOption(cfgDefCmdBackup, cfgDefOptPgHostUser), cfgDefOptPgHost, "depend option id"); | ||||
|         TEST_RESULT_INT(cfgDefOptionDependOption(cfgDefCmdBackup, cfgDefOptRepoHostCmd), cfgDefOptRepoHost, "depend option id"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgDefOptionDependValueTotal(cfgDefCmdRestore, cfgDefOptTarget), 3, "depend option value total"); | ||||
|         TEST_RESULT_STR(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 0), "name", "depend option value 0"); | ||||
| @@ -90,33 +93,30 @@ testRun() | ||||
|             cfgDefOptionDependValueValid(cfgDefCmdRestore, cfgDefOptTarget, BOGUS_STR), false, "depend option value not valid"); | ||||
|  | ||||
|         TEST_ERROR(cfgDefOptionIndexTotal(cfgDefOptionTotal()), AssertError, optionIdInvalidHighError); | ||||
|         TEST_RESULT_INT(cfgDefOptionIndexTotal(cfgDefOptDbPath), 8, "index total > 1"); | ||||
|         TEST_RESULT_INT(cfgDefOptionIndexTotal(cfgDefOptPgPath), 8, "index total > 1"); | ||||
|         TEST_RESULT_INT(cfgDefOptionIndexTotal(cfgDefOptRepoPath), 1, "index total == 1"); | ||||
|  | ||||
|         TEST_RESULT_BOOL(cfgDefOptionInternal(cfgDefOptSet), false, "option set is not internal"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionInternal(cfgDefOptTest), true, "option test is internal"); | ||||
|  | ||||
|         TEST_RESULT_STR(cfgDefOptionNameAlt(cfgDefOptProcessMax), "thread-max", "alt name"); | ||||
|         TEST_RESULT_STR(cfgDefOptionNameAlt(cfgDefOptType), NULL, "no alt name"); | ||||
|  | ||||
|         TEST_ERROR(cfgDefOptionNegate(cfgDefOptionTotal()), AssertError, optionIdInvalidHighError); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionNegate(cfgDefOptOnline), true, "option can be negated"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionNegate(cfgDefOptType), false, "option cannot be negated"); | ||||
|  | ||||
|         TEST_RESULT_STR(cfgDefOptionPrefix(cfgDefOptDbHost), "db", "option prefix"); | ||||
|         TEST_RESULT_STR(cfgDefOptionPrefix(cfgDefOptPgHost), "pg", "option prefix"); | ||||
|         TEST_RESULT_STR(cfgDefOptionPrefix(cfgDefOptType), NULL, "option has no prefix"); | ||||
|  | ||||
|         TEST_RESULT_BOOL(cfgDefOptionRequired(cfgDefCmdBackup, cfgDefOptConfig), true, "option required"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionRequired(cfgDefCmdRestore, cfgDefOptBackupHost), false, "option not required"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionRequired(cfgDefCmdRestore, cfgDefOptRepoHost), false, "option not required"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionRequired(cfgDefCmdInfo, cfgDefOptStanza), false, "command option not required"); | ||||
|  | ||||
|         TEST_RESULT_INT(cfgDefOptionSection(cfgDefOptRepoS3Key), cfgDefSectionGlobal, "global section"); | ||||
|         TEST_RESULT_INT(cfgDefOptionSection(cfgDefOptDbPath), cfgDefSectionStanza, "stanza section"); | ||||
|         TEST_RESULT_INT(cfgDefOptionSection(cfgDefOptPgPath), cfgDefSectionStanza, "stanza section"); | ||||
|         TEST_RESULT_INT(cfgDefOptionSection(cfgDefOptType), cfgDefSectionCommandLine, "command line only"); | ||||
|  | ||||
|         TEST_ERROR(cfgDefOptionSecure(-1), AssertError, optionIdInvalidLowError); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionSecure(cfgDefOptRepoS3Key), true, "option secure"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionSecure(cfgDefOptBackupHost), false, "option not secure"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionSecure(cfgDefOptRepoHost), false, "option not secure"); | ||||
|  | ||||
|         TEST_ERROR(cfgDefOptionType(-1), AssertError, optionIdInvalidLowError); | ||||
|         TEST_RESULT_INT(cfgDefOptionType(cfgDefOptType), cfgDefOptTypeString, "string type"); | ||||
| @@ -130,6 +130,13 @@ testRun() | ||||
|     // ----------------------------------------------------------------------------------------------------------------------------- | ||||
|     if (testBegin("cfgDefCommandHelp*() and cfgDefOptionHelp*()")) | ||||
|     { | ||||
|         TEST_RESULT_BOOL(cfgDefOptionHelpNameAlt(cfgDefOptRepoHost), true, "name alt exists"); | ||||
|         TEST_RESULT_BOOL(cfgDefOptionHelpNameAlt(cfgDefOptSet), false, "name alt not exists"); | ||||
|         TEST_RESULT_INT(cfgDefOptionHelpNameAltValueTotal(cfgDefOptRepoHost), 1, "name alt value total"); | ||||
|         TEST_RESULT_STR(cfgDefOptionHelpNameAltValue(cfgDefOptRepoHost, 0), "backup-host", "name alt value 0"); | ||||
|         TEST_ERROR( | ||||
|             cfgDefOptionHelpNameAltValue(cfgDefOptRepoHost, 1), AssertError, "value id 1 invalid - must be >= 0 and < 1"); | ||||
|  | ||||
|         TEST_RESULT_STR(cfgDefCommandHelpSummary(cfgDefCmdBackup), "Backup a database cluster.", "backup command help summary"); | ||||
|         TEST_RESULT_STR( | ||||
|             cfgDefCommandHelpDescription(cfgDefCmdBackup), | ||||
|   | ||||
| @@ -42,8 +42,8 @@ testRun() | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew("pgbackrest")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--repo-path=/path/to/repo")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--repo1-path=/path/to/repo")); | ||||
|         strLstAdd(argList, strNew("stanza-create")); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgLoad(strLstSize(argList), strLstPtr(argList)), "load local config"); | ||||
| @@ -58,45 +58,46 @@ testRun() | ||||
|         strLstAdd(argList, strNew("archive-push")); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgLoad(strLstSize(argList), strLstPtr(argList)), "load archive-push config"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptBackupCmd), NULL, "    command archive-push, option backup-cmd default"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptRepoHostCmd), NULL, "    command archive-push, option repo1-host-cmd default"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew("pgbackrest")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--backup-host=backup")); | ||||
|         strLstAdd(argList, strNew("--repo1-host=backup")); | ||||
|         strLstAdd(argList, strNew("archive-push")); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgLoad(strLstSize(argList), strLstPtr(argList)), "load archive-push config"); | ||||
|         TEST_RESULT_STR( | ||||
|             strPtr(varStr(cfgOptionDefault(cfgOptBackupCmd))), strPtr(cfgExe()), | ||||
|             "    command archive-push, option backup-cmd default"); | ||||
|             strPtr(varStr(cfgOptionDefault(cfgOptRepoHostCmd))), strPtr(cfgExe()), | ||||
|             "    command archive-push, option repo1-host-cmd default"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew("pgbackrest")); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("backup")); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgLoad(strLstSize(argList), strLstPtr(argList)), "load backup config"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptDbCmd), NULL, "    command backup, option db1-cmd default"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptPgHostCmd), NULL, "    command backup, option pg1-host-cmd default"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew("pgbackrest")); | ||||
|         strLstAdd(argList, strNew("--db-host=db")); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--db3-host=db")); | ||||
|         strLstAdd(argList, strNew("--db3-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-host=db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg3-host=db")); | ||||
|         strLstAdd(argList, strNew("--pg3-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("backup")); | ||||
|  | ||||
|         TEST_RESULT_VOID(cfgLoad(strLstSize(argList), strLstPtr(argList)), "load backup config"); | ||||
|         TEST_RESULT_STR( | ||||
|             strPtr(varStr(cfgOptionDefault(cfgOptDbCmd))), strPtr(cfgExe()), "    command backup, option db1-cmd default"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptDbCmd + 1), NULL, "    command backup, option db2-cmd default"); | ||||
|             strPtr(varStr(cfgOptionDefault(cfgOptPgHostCmd))), strPtr(cfgExe()), "    command backup, option pg1-host-cmd default"); | ||||
|         TEST_RESULT_PTR(cfgOptionDefault(cfgOptPgHostCmd + 1), NULL, "    command backup, option pg2-host-cmd default"); | ||||
|         TEST_RESULT_STR( | ||||
|             strPtr(varStr(cfgOptionDefault(cfgOptDbCmd + 2))), strPtr(cfgExe()), "    command backup, option db3-cmd default"); | ||||
|             strPtr(varStr(cfgOptionDefault(cfgOptPgHostCmd + 2))), strPtr(cfgExe()), | ||||
|             "    command backup, option pg3-host-cmd default"); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -9,6 +9,19 @@ Test Configuration Parse | ||||
| #define TEST_COMMAND_RESTORE                                        "restore" | ||||
| #define TEST_COMMAND_VERSION                                        "version" | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Option find test -- this is done a lot in the deprecated tests | ||||
| ***********************************************************************************************************************************/ | ||||
| static void | ||||
| testOptionFind(const char *option, int value) | ||||
| { | ||||
|     // If not testing for a missing option, then add the option offset that is already added to each option in the list | ||||
|     if (value != 0) | ||||
|         value |= PARSE_OPTION_FLAG; | ||||
|  | ||||
|     TEST_RESULT_INT(optionList[optionFind(strNew(option))].val, value, "check %s", option); | ||||
| } | ||||
|  | ||||
| /*********************************************************************************************************************************** | ||||
| Test run | ||||
| ***********************************************************************************************************************************/ | ||||
| @@ -36,9 +49,9 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-host")); | ||||
|         strLstAdd(argList, strNew("--pg1-host")); | ||||
|         TEST_ERROR( | ||||
|             configParse(strLstSize(argList), strLstPtr(argList)), OptionInvalidError, "option '--db-host' requires argument"); | ||||
|             configParse(strLstSize(argList), strLstPtr(argList)), OptionInvalidError, "option '--pg1-host' requires argument"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
| @@ -77,12 +90,12 @@ testRun() | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
|         TEST_ERROR( | ||||
|             configParse(strLstSize(argList), strLstPtr(argList)), OptionRequiredError, | ||||
|             "backup command requires option: db1-path\nHINT: does this stanza exist?"); | ||||
|             "backup command requires option: pg1-path\nHINT: does this stanza exist?"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
|         TEST_ERROR( | ||||
|             configParse(strLstSize(argList), strLstPtr(argList)), OptionRequiredError, | ||||
| @@ -91,30 +104,30 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--no-config")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--repo-s3-key=xxx")); | ||||
|         strLstAdd(argList, strNew("--repo1-s3-key=xxx")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
|         TEST_ERROR( | ||||
|             configParse(strLstSize(argList), strLstPtr(argList)), OptionInvalidError, | ||||
|             "option 'repo-s3-key' not valid without option 'repo-type' = 's3'"); | ||||
|             "option 'repo1-s3-key' not valid without option 'repo1-type' = 's3'"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--backup-user=xxx")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--repo1-host-user=xxx")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
|         TEST_ERROR( | ||||
|             configParse(strLstSize(argList), strLstPtr(argList)), OptionInvalidError, | ||||
|             "option 'backup-user' not valid without option 'backup-host'"); | ||||
|             "option 'repo1-host-user' not valid without option 'repo1-host'"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--force")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
| @@ -125,7 +138,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--test-delay=1")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
| @@ -136,7 +149,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--recovery-option=a=b")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
| @@ -147,7 +160,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--target-exclusive")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -158,7 +171,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--type=bogus")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -169,7 +182,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--process-max=0")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -180,7 +193,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--process-max=bogus")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -191,7 +204,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--protocol-timeout=.01")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -202,7 +215,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--protocol-timeout=bogus")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -284,9 +297,9 @@ testRun() | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew("--backup-host=backup")); | ||||
|         strLstAdd(argList, strNew("--backup-user=pgbackrest")); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--repo1-host=backup")); | ||||
|         strLstAdd(argList, strNew("--repo1-host-user=pgbackrest")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--no-online")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
|         TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList)), TEST_COMMAND_BACKUP " command"); | ||||
| @@ -296,8 +309,8 @@ testRun() | ||||
|  | ||||
|         TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptStanza)), "db", "    stanza is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptStanza), cfgSourceParam, "    stanza is source param"); | ||||
|         TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptDbPath)), "/path/to/db", "    db-path is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptDbPath), cfgSourceParam, "    db-path is source param"); | ||||
|         TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgPath)), "/path/to/db", "    pg1-path is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptPgPath), cfgSourceParam, "    pg1-path is source param"); | ||||
|         TEST_RESULT_BOOL(cfgOptionBool(cfgOptOnline), false, "    online is not set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptOnline), cfgSourceParam, "    online is source default"); | ||||
|         TEST_RESULT_BOOL(cfgOptionBool(cfgOptCompress), true, "    compress is set"); | ||||
| @@ -311,7 +324,7 @@ testRun() | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNewFmt("--config=%s", strPtr(configFile))); | ||||
|         strLstAdd(argList, strNew("--no-online")); | ||||
|         strLstAdd(argList, strNew("--db1-host=db")); | ||||
|         strLstAdd(argList, strNew("--pg1-host=db")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_BACKUP)); | ||||
|  | ||||
|         storagePut(storageLocal(), configFile, bufNewStr(strNew( | ||||
| @@ -319,7 +332,7 @@ testRun() | ||||
|             "compress-level=3\n" | ||||
|             "\n" | ||||
|             "[global:backup]\n" | ||||
|             "hardlink=y\n" | ||||
|             "repo1-hardlink=y\n" | ||||
|             "bogus=bogus\n" | ||||
|             "no-compress=y\n" | ||||
|             "archive-copy=y\n" | ||||
| @@ -330,8 +343,8 @@ testRun() | ||||
|             "recovery-option=a=b\n" | ||||
|             "\n" | ||||
|             "[db]\n" | ||||
|             "db1-host=db\n" | ||||
|             "db1-path=/path/to/db\n" | ||||
|             "pg1-host=db\n" | ||||
|             "pg1-path=/path/to/db\n" | ||||
|             "recovery-option=c=d\n" | ||||
|         ))); | ||||
|  | ||||
| @@ -346,21 +359,21 @@ testRun() | ||||
|                     "WARN: '%s' contains command-line only option 'online'", | ||||
|                     strPtr(configFile), strPtr(configFile), strPtr(configFile), strPtr(configFile)))); | ||||
|  | ||||
|         TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptDbPath)), "/path/to/db", "    db-path is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptDbPath), cfgSourceConfig, "    db-path is source config"); | ||||
|         TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgPath)), "/path/to/db", "    pg1-path is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptPgPath), cfgSourceConfig, "    pg1-path is source config"); | ||||
|         TEST_RESULT_BOOL(cfgOptionBool(cfgOptCompress), false, "    compress not is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptCompress), cfgSourceConfig, "    compress is source config"); | ||||
|         TEST_RESULT_PTR(cfgOption(cfgOptArchiveCheck), NULL, "    archive-check is not set"); | ||||
|         TEST_RESULT_PTR(cfgOption(cfgOptArchiveCopy), NULL, "    archive-copy is not set"); | ||||
|         TEST_RESULT_BOOL(cfgOptionBool(cfgOptHardlink), true, "    hardlink is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptHardlink), cfgSourceConfig, "    hardlink is source config"); | ||||
|         TEST_RESULT_BOOL(cfgOptionBool(cfgOptRepoHardlink), true, "    repo-hardlink is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptRepoHardlink), cfgSourceConfig, "    repo-hardlink is source config"); | ||||
|         TEST_RESULT_INT(cfgOptionInt(cfgOptCompressLevel), 3, "    compress-level is set"); | ||||
|         TEST_RESULT_INT(cfgOptionSource(cfgOptCompressLevel), cfgSourceConfig, "    compress-level is source config"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--recovery-option=a")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -371,7 +384,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--recovery-option=a")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
|         strLstAdd(argList, strNew(TEST_COMMAND_RESTORE)); | ||||
| @@ -382,7 +395,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--db-include=abc")); | ||||
|         strLstAdd(argList, strNew("--db-include=def")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
| @@ -397,7 +410,7 @@ testRun() | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         argList = strLstNew(); | ||||
|         strLstAdd(argList, strNew(TEST_BACKREST_EXE)); | ||||
|         strLstAdd(argList, strNew("--db-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--pg1-path=/path/to/db")); | ||||
|         strLstAdd(argList, strNew("--recovery-option=a=b")); | ||||
|         strLstAdd(argList, strNew("--recovery-option=c=de=fg hi")); | ||||
|         strLstAdd(argList, strNew("--stanza=db")); | ||||
| @@ -422,7 +435,7 @@ testRun() | ||||
|             "recovery-option=hijk=l\n" | ||||
|             "\n" | ||||
|             "[db]\n" | ||||
|             "db1-path=/path/to/db\n" | ||||
|             "pg1-path=/path/to/db\n" | ||||
|         ))); | ||||
|  | ||||
|         TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList)), TEST_COMMAND_RESTORE " command"); | ||||
| @@ -431,4 +444,63 @@ testRun() | ||||
|         TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("f"))))), "g", "check recovery option"); | ||||
|         TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("hijk"))))), "l", "check recovery option"); | ||||
|     } | ||||
|  | ||||
|     // ----------------------------------------------------------------------------------------------------------------------------- | ||||
|     if (testBegin("deprecated option names")) | ||||
|     { | ||||
|         // Repository options | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         testOptionFind("hardlink", PARSE_DEPRECATE_FLAG | cfgOptRepoHardlink); | ||||
|         testOptionFind("no-hardlink", PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | cfgOptRepoHardlink); | ||||
|  | ||||
|         testOptionFind("backup-cmd", PARSE_DEPRECATE_FLAG | cfgOptRepoHostCmd); | ||||
|         testOptionFind("backup-config", PARSE_DEPRECATE_FLAG | cfgOptRepoHostConfig); | ||||
|         testOptionFind("backup-host", PARSE_DEPRECATE_FLAG | cfgOptRepoHost); | ||||
|         testOptionFind("backup-ssh-port", PARSE_DEPRECATE_FLAG | cfgOptRepoHostPort); | ||||
|         testOptionFind("backup-user", PARSE_DEPRECATE_FLAG | cfgOptRepoHostUser); | ||||
|  | ||||
|         testOptionFind("repo-cipher-pass", PARSE_DEPRECATE_FLAG | cfgOptRepoCipherPass); | ||||
|         testOptionFind("repo-cipher-type", PARSE_DEPRECATE_FLAG | cfgOptRepoCipherType); | ||||
|         testOptionFind("repo-path", PARSE_DEPRECATE_FLAG | cfgOptRepoPath); | ||||
|         testOptionFind("repo-type", PARSE_DEPRECATE_FLAG | cfgOptRepoType); | ||||
|  | ||||
|         testOptionFind("repo-s3-bucket", PARSE_DEPRECATE_FLAG | cfgOptRepoS3Bucket); | ||||
|         testOptionFind("repo-s3-ca-file", PARSE_DEPRECATE_FLAG | cfgOptRepoS3CaFile); | ||||
|         testOptionFind("repo-s3-ca-path", PARSE_DEPRECATE_FLAG | cfgOptRepoS3CaPath); | ||||
|         testOptionFind("repo-s3-endpoint", PARSE_DEPRECATE_FLAG | cfgOptRepoS3Endpoint); | ||||
|         testOptionFind("repo-s3-host", PARSE_DEPRECATE_FLAG | cfgOptRepoS3Host); | ||||
|         testOptionFind("repo-s3-key", PARSE_DEPRECATE_FLAG | cfgOptRepoS3Key); | ||||
|         testOptionFind("repo-s3-key-secret", PARSE_DEPRECATE_FLAG | cfgOptRepoS3KeySecret); | ||||
|         testOptionFind("repo-s3-region", PARSE_DEPRECATE_FLAG | cfgOptRepoS3Region); | ||||
|         testOptionFind("repo-s3-verify-ssl", PARSE_DEPRECATE_FLAG | cfgOptRepoS3VerifySsl); | ||||
|         testOptionFind("no-repo-s3-verify-ssl", PARSE_DEPRECATE_FLAG | PARSE_NEGATE_FLAG | cfgOptRepoS3VerifySsl); | ||||
|  | ||||
|         // PostreSQL options | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         testOptionFind("db-cmd", PARSE_DEPRECATE_FLAG | cfgOptPgHostCmd); | ||||
|         testOptionFind("db-config", PARSE_DEPRECATE_FLAG | cfgOptPgHostConfig); | ||||
|         testOptionFind("db-host", PARSE_DEPRECATE_FLAG | cfgOptPgHost); | ||||
|         testOptionFind("db-path", PARSE_DEPRECATE_FLAG | cfgOptPgPath); | ||||
|         testOptionFind("db-port", PARSE_DEPRECATE_FLAG | cfgOptPgPort); | ||||
|         testOptionFind("db-socket-path", PARSE_DEPRECATE_FLAG | cfgOptPgSocketPath); | ||||
|         testOptionFind("db-ssh-port", PARSE_DEPRECATE_FLAG | cfgOptPgHostPort); | ||||
|         testOptionFind("db-user", PARSE_DEPRECATE_FLAG | cfgOptPgHostUser); | ||||
|  | ||||
|         testOptionFind("no-db-user", 0); | ||||
|  | ||||
|         for (int optionIdx = 0; optionIdx < cfgDefOptionIndexTotal(cfgDefOptPgPath); optionIdx++) | ||||
|         { | ||||
|             testOptionFind(strPtr(strNewFmt("db%u-cmd", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgHostCmd + optionIdx)); | ||||
|             testOptionFind( | ||||
|                 strPtr(strNewFmt("db%u-config", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgHostConfig + optionIdx)); | ||||
|             testOptionFind(strPtr(strNewFmt("db%u-host", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgHost + optionIdx)); | ||||
|             testOptionFind(strPtr(strNewFmt("db%u-path", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgPath + optionIdx)); | ||||
|             testOptionFind(strPtr(strNewFmt("db%u-port", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgPort + optionIdx)); | ||||
|             testOptionFind( | ||||
|                 strPtr(strNewFmt("db%u-socket-path", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgSocketPath + optionIdx)); | ||||
|             testOptionFind( | ||||
|                 strPtr(strNewFmt("db%u-ssh-port", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgHostPort + optionIdx)); | ||||
|             testOptionFind(strPtr(strNewFmt("db%u-user", optionIdx + 1)), PARSE_DEPRECATE_FLAG | (cfgOptPgHostUser + optionIdx)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -141,16 +141,16 @@ testRun() | ||||
|             "\n" | ||||
|             "Repository Options:\n" | ||||
|             "\n" | ||||
|             "  --backup-cmd              pgBackRest exe path on the backup host\n" | ||||
|             "  --backup-config           pgBackRest backup host configuration file\n" | ||||
|             "                            [default=/etc/pgbackrest.conf]\n" | ||||
|             "  --backup-host             backup host when operating remotely via SSH\n" | ||||
|             "                            [current=backup.example.net]\n" | ||||
|             "  --backup-ssh-port         backup server SSH port when backup-host is set\n" | ||||
|             "  --backup-user             backup host user when backup-host is set\n" | ||||
|             "                            [default=backrest]\n" | ||||
|             "  --repo-cipher-pass        repository cipher passphrase\n" | ||||
|             "  --repo-cipher-type        cipher used to encrypt the repository [default=none]\n" | ||||
|             "  --repo-host               repository host when operating remotely via SSH\n" | ||||
|             "                            [current=backup.example.net]\n" | ||||
|             "  --repo-host-cmd           pgBackRest exe path on the repository host\n" | ||||
|             "  --repo-host-config        pgBackRest repository host configuration file\n" | ||||
|             "                            [default=/etc/pgbackrest.conf]\n" | ||||
|             "  --repo-host-port          repository host port when repo-host is set\n" | ||||
|             "  --repo-host-user          repository host user when repo-host is set\n" | ||||
|             "                            [default=pgbackrest]\n" | ||||
|             "  --repo-path               path where backups and archive are stored\n" | ||||
|             "                            [default=/var/lib/pgbackrest]\n" | ||||
|             "  --repo-s3-bucket          s3 repository bucket\n" | ||||
| @@ -167,9 +167,9 @@ testRun() | ||||
|             "\n" | ||||
|             "Stanza Options:\n" | ||||
|             "\n" | ||||
|             "  --db-host                 cluster host for operating remotely via SSH\n" | ||||
|             "  --db-path                 cluster data directory\n" | ||||
|             "  --db-ssh-port             database server SSH port when db-host is set\n" | ||||
|             "  --pg-host                 postgreSQL host for operating remotely via SSH\n" | ||||
|             "  --pg-host-port            postgreSQL host port when pg-host is set\n" | ||||
|             "  --pg-path                 postgreSQL data directory\n" | ||||
|             "\n" | ||||
|             "Use 'pgbackrest help archive-push [option]' for more information.\n", | ||||
|             helpVersion)); | ||||
| @@ -179,7 +179,7 @@ testRun() | ||||
|         strLstAddZ(argList, "help"); | ||||
|         strLstAddZ(argList, "archive-push"); | ||||
|         strLstAddZ(argList, "--buffer-size=32768"); | ||||
|         strLstAddZ(argList, "--backup-host=backup.example.net"); | ||||
|         strLstAddZ(argList, "--repo1-host=backup.example.net"); | ||||
|         TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList)), "help for archive-push command"); | ||||
|         TEST_RESULT_STR(strPtr(helpRender()), commandHelp, "    check text"); | ||||
|  | ||||
| @@ -246,6 +246,30 @@ testRun() | ||||
|         strLstAddZ(argList, "perl-bin"); | ||||
|         TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList)), "help for archive-push command, perl-bin option"); | ||||
|         TEST_RESULT_STR(strPtr(helpRender()), optionHelp, "    check text"); | ||||
|  | ||||
|         // ------------------------------------------------------------------------------------------------------------------------- | ||||
|         optionHelp = strPtr(strNewFmt( | ||||
|             "%s - 'backup' command - 'repo-hardlink' option help\n" | ||||
|             "\n" | ||||
|             "Hardlink files between backups in the repository.\n" | ||||
|             "\n" | ||||
|             "Enable hard-linking of files in differential and incremental backups to their\n" | ||||
|             "full backups. This gives the appearance that each backup is a full backup at\n" | ||||
|             "the file-system level. Be careful, though, because modifying files that are\n" | ||||
|             "hard-linked can affect all the backups in the set.\n" | ||||
|             "\n" | ||||
|             "default: n\n" | ||||
|             "\n" | ||||
|             "deprecated name: hardlink\n", | ||||
|             helpVersion)); | ||||
|  | ||||
|         argList = strLstNew(); | ||||
|         strLstAddZ(argList, "/path/to/pgbackrest"); | ||||
|         strLstAddZ(argList, "help"); | ||||
|         strLstAddZ(argList, "backup"); | ||||
|         strLstAddZ(argList, "repo-hardlink"); | ||||
|         TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList)), "help for backup command, repo-hardlink option"); | ||||
|         TEST_RESULT_STR(strPtr(helpRender()), optionHelp, "    check text"); | ||||
|     } | ||||
|  | ||||
|     // ***************************************************************************************************************************** | ||||
|   | ||||
| @@ -92,7 +92,6 @@ testRun() | ||||
|         cfgCommandParamSet(commandParamList); | ||||
|  | ||||
|         cfgOptionValidSet(cfgOptPerlOption, true); | ||||
|         // !!! WHY DO WE STILL NEED TO CREATE THE VAR KV EMPTY? | ||||
|         StringList *perlList = strLstNew(); | ||||
|         strLstAdd(perlList, strNew("-I.")); | ||||
|         strLstAdd(perlList, strNew("-MDevel::Cover=-silent,1")); | ||||
|   | ||||
							
								
								
									
										14
									
								
								test/test.pl
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								test/test.pl
									
									
									
									
									
								
							| @@ -73,7 +73,7 @@ test.pl [options] | ||||
|    --run                execute only the specified test run | ||||
|    --dry-run            show only the tests that would be executed but don't execute them | ||||
|    --no-cleanup         don't cleaup after the last test is complete - useful for debugging | ||||
|    --db-version         version of postgres to test (all, defaults to minimal) | ||||
|    --pg-version         version of postgres to test (all, defaults to minimal) | ||||
|    --log-force          force overwrite of current test log files | ||||
|    --no-lint            disable static source code analysis | ||||
|    --build-only         compile the C library / packages and run tests only | ||||
| @@ -121,7 +121,7 @@ my $strTestPath; | ||||
| my $bVersion = false; | ||||
| my $bHelp = false; | ||||
| my $bQuiet = false; | ||||
| my $strDbVersion = 'minimal'; | ||||
| my $strPgVersion = 'minimal'; | ||||
| my $bLogForce = false; | ||||
| my $strVm; | ||||
| my $strVmHost = VM_HOST_DEFAULT; | ||||
| @@ -157,7 +157,7 @@ GetOptions ('q|quiet' => \$bQuiet, | ||||
|             'vm-max=s' => \$iVmMax, | ||||
|             'dry-run' => \$bDryRun, | ||||
|             'no-cleanup' => \$bNoCleanup, | ||||
|             'db-version=s' => \$strDbVersion, | ||||
|             'pg-version=s' => \$strPgVersion, | ||||
|             'log-force' => \$bLogForce, | ||||
|             'no-lint' => \$bNoLint, | ||||
|             'build-only' => \$bBuildOnly, | ||||
| @@ -216,7 +216,7 @@ eval | ||||
|         $bSmart = true; | ||||
|         $bNoPackage = true; | ||||
|         $strVm = VM_EXPECT; | ||||
|         $strDbVersion = '9.6'; | ||||
|         $strPgVersion = '9.6'; | ||||
|         $bLogForce = true; | ||||
|     } | ||||
|  | ||||
| @@ -431,7 +431,7 @@ eval | ||||
|         { | ||||
|             # Get the test list | ||||
|             $oyTestRun = testListGet( | ||||
|                 $strVm, \@stryModule, \@stryModuleTest, \@iyModuleTestRun, $strDbVersion, $bCoverageOnly, $bCOnly); | ||||
|                 $strVm, \@stryModule, \@stryModuleTest, \@iyModuleTestRun, $strPgVersion, $bCoverageOnly, $bCOnly); | ||||
|  | ||||
|             # Search for any tests that are not C unit tests to determine if the C binary and lib need to be built for testing.  If | ||||
|             # all the tests are C unit tests then no builds are required.  This saves a lot ot time. | ||||
| @@ -1095,8 +1095,8 @@ eval | ||||
|         $strTestPath,                                               # Path where the tests will run | ||||
|         '/usr/bin/' . BACKREST_EXE,                                 # Path to the backrest executable | ||||
|         "${strBackRestBase}/bin/" . BACKREST_EXE,                   # Path to the backrest Perl helper | ||||
|         $strDbVersion ne 'minimal' ? $strPgSqlBin: undef,           # Db bin path | ||||
|         $strDbVersion ne 'minimal' ? $strDbVersion: undef,          # Db version | ||||
|         $strPgVersion ne 'minimal' ? $strPgSqlBin: undef,           # Pg bin path | ||||
|         $strPgVersion ne 'minimal' ? $strPgVersion: undef,          # Pg version | ||||
|         $stryModule[0], $stryModuleTest[0], \@iyModuleTestRun,      # Module info | ||||
|         $bVmOut, $bDryRun, $bNoCleanup, $bLogForce,                 # Test options | ||||
|         TEST_USER, BACKREST_USER, TEST_GROUP);                      # User/group info | ||||
|   | ||||
		Reference in New Issue
	
	Block a user