You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-09-16 09:06:18 +02:00
Up to seven standbys can be configured for backup from standby.`
Contributed by Cynthia Shang.
This commit is contained in:
committed by
David Steele
parent
206415d4c7
commit
36e576b483
@@ -626,7 +626,9 @@
|
||||
|
||||
<!-- CONFIG - STANZA -->
|
||||
<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.</text>
|
||||
<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>
|
||||
|
||||
<config-key-list>
|
||||
<!-- CONFIG - STANZA SECTION - DB-CMD KEY -->
|
||||
|
@@ -30,6 +30,16 @@
|
||||
<p>Fixed an issue with keep-alives not being sent to the remote from the local process.</p>
|
||||
</release-item>
|
||||
</release-bug-list>
|
||||
|
||||
<release-feature-list>
|
||||
<release-item>
|
||||
<release-item-contributor-list>
|
||||
<release-item-contributor id="shang.cynthia"/>
|
||||
</release-item-contributor-list>
|
||||
|
||||
<p>Up to seven standbys can be configured for backup from standby.</p>
|
||||
</release-item>
|
||||
</release-feature-list>
|
||||
</release-core-list>
|
||||
|
||||
<release-doc-list>
|
||||
|
@@ -2209,7 +2209,7 @@
|
||||
<section id="standby-backup" depend="/replication/streaming">
|
||||
<title>Backup from a Standby</title>
|
||||
|
||||
<p><backrest/> can perform backups on a standby instead of the master. Standby backups require the <host>db-standby</host> host to be configured and the <br-option>backup-standby</br-option> option enabled.</p>
|
||||
<p><backrest/> can perform backups on a standby instead of the master. Standby backups require the <host>db-standby</host> host to be configured and the <br-option>backup-standby</br-option> option enabled. If more than one standby is configured then the first running standby found will be used for the backup.</p>
|
||||
|
||||
<backrest-config host="{[host-backup]}" owner="backrest:postgres" file="{[backrest-config-demo]}">
|
||||
<title>Configure <br-option>db2-host</br-option>/<br-option>db2-user</br-option> and <br-option>db2-path</br-option></title>
|
||||
|
@@ -452,8 +452,8 @@ sub process
|
||||
$self->{iCopyRemoteIdx} = $self->{iMasterRemoteIdx};
|
||||
}
|
||||
|
||||
# If backup from standby option is set but we could not get the standby object then, turn off CFGOPT_BACKUP_STANDBY & warn that
|
||||
# backups will be performed from the master.
|
||||
# If backup from standby option is set but a standby was not configured in the config file or on the command line, then turn off
|
||||
# CFGOPT_BACKUP_STANDBY & warn that backups will be performed from the master.
|
||||
if (!defined($oDbStandby) && cfgOption(CFGOPT_BACKUP_STANDBY))
|
||||
{
|
||||
cfgOptionSet(CFGOPT_BACKUP_STANDBY, false);
|
||||
|
@@ -55,8 +55,9 @@ sub process
|
||||
# Assign function parameters, defaults, and log debug info
|
||||
my $strOperation = logDebugParam(__PACKAGE__ . '->process');
|
||||
|
||||
# Initialize the database object
|
||||
my $oDb = dbMasterGet();
|
||||
# Initialize the database object. This will also check the configured replicas and throw an error if at least one is not
|
||||
# able to be connected to and warnings for any that cannot be properly connected to.
|
||||
my ($oDb) = dbObjectGet();
|
||||
|
||||
# Validate the database configuration
|
||||
$oDb->configValidate();
|
||||
|
@@ -81,6 +81,9 @@ my $bLogFileFirst;
|
||||
# Allow log to be globally enabled or disabled with logEnable() and logDisable()
|
||||
my $bLogDisable = 0;
|
||||
|
||||
# Allow errors to be logged as warnings
|
||||
my $bLogWarnOnError = 0;
|
||||
|
||||
# Test globals
|
||||
my $bTest = false;
|
||||
my $fTestDelay;
|
||||
@@ -231,6 +234,26 @@ sub logEnable
|
||||
|
||||
push @EXPORT, qw(logEnable);
|
||||
|
||||
####################################################################################################################################
|
||||
# logWarnOnErrorDisable
|
||||
####################################################################################################################################
|
||||
sub logWarnOnErrorDisable
|
||||
{
|
||||
$bLogWarnOnError--;
|
||||
}
|
||||
|
||||
push @EXPORT, qw(logWarnOnErrorDisable);
|
||||
|
||||
####################################################################################################################################
|
||||
# logWarnOnErrorEnable - when an error is thrown, log it as a warning instead
|
||||
####################################################################################################################################
|
||||
sub logWarnOnErrorEnable
|
||||
{
|
||||
$bLogWarnOnError++;
|
||||
}
|
||||
|
||||
push @EXPORT, qw(logWarnOnErrorEnable);
|
||||
|
||||
####################################################################################################################################
|
||||
# logDebugParam
|
||||
#
|
||||
@@ -598,7 +621,7 @@ sub log
|
||||
|
||||
# Set operational variables
|
||||
my $strMessageFormat = $strMessage;
|
||||
my $iLogLevelRank = $oLogLevelRank{"${strLevel}"}{rank};
|
||||
my $iLogLevelRank = $oLogLevelRank{$strLevel}{rank};
|
||||
|
||||
# If test message
|
||||
if ($strLevel eq TEST)
|
||||
@@ -664,27 +687,32 @@ sub log
|
||||
# Format the message text
|
||||
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
|
||||
|
||||
# If logging warnings as errors then change the display level and rank. These will be used to determine if the message will be
|
||||
# displayed or not.
|
||||
my $strDisplayLevel = (!$bLogWarnOnError ? $strLevel : WARN);
|
||||
my $iLogDisplayLevelRank = (!$bLogWarnOnError ? $iLogLevelRank : $oLogLevelRank{$strDisplayLevel}{rank});
|
||||
|
||||
$strMessageFormat =
|
||||
($bLogTimestamp ? timestampFormat() . sprintf('.%03d ', (gettimeofday() - int(gettimeofday())) * 1000) : '') .
|
||||
sprintf('P%02d', defined($iProcessId) ? $iProcessId : 0) .
|
||||
(' ' x (7 - length($strLevel))) . "${strLevel}: ${strMessageFormat}\n";
|
||||
(' ' x (7 - length($strDisplayLevel))) . "${strDisplayLevel}: ${strMessageFormat}\n";
|
||||
|
||||
# Skip output if disabled
|
||||
if (!$bLogDisable)
|
||||
{
|
||||
# Output to stderr depending on log level
|
||||
if (!$rExtra->{bLogConsole} && $iLogLevelRank <= $oLogLevelRank{$strLogLevelStdErr}{rank})
|
||||
# Output to stderr if configured log level setting rank is greater than the display level rank.
|
||||
if (!$rExtra->{bLogConsole} && $iLogDisplayLevelRank <= $oLogLevelRank{$strLogLevelStdErr}{rank})
|
||||
{
|
||||
if ($strLogLevelStdErr ne PROTOCOL)
|
||||
{
|
||||
syswrite(*STDERR, $strLevel . (defined($iCode) ? sprintf(' [%03d]: ', $iCode) : '') . ': ');
|
||||
syswrite(*STDERR, $strDisplayLevel . (defined($iCode) ? sprintf(' [%03d]: ', $iCode) : '') . ': ');
|
||||
}
|
||||
|
||||
syswrite(*STDERR, "${strMessage}\n");
|
||||
$rExtra->{bLogConsole} = true;
|
||||
}
|
||||
# Else output to stdout depending on log level and test flag
|
||||
elsif (!$rExtra->{bLogConsole} && $iLogLevelRank <= $oLogLevelRank{$strLogLevelConsole}{rank} ||
|
||||
# Else output to stdout if configured log level setting rank is greater than the display level rank or test flag is set.
|
||||
elsif (!$rExtra->{bLogConsole} && $iLogDisplayLevelRank <= $oLogLevelRank{$strLogLevelConsole}{rank} ||
|
||||
$bTest && $strLevel eq TEST)
|
||||
{
|
||||
if (!$bSuppressLog)
|
||||
@@ -709,8 +737,8 @@ sub log
|
||||
$rExtra->{bLogConsole} = true;
|
||||
}
|
||||
|
||||
# Output to file depending on log level and test flag
|
||||
if (!$rExtra->{bLogLogFile} && $iLogLevelRank <= $oLogLevelRank{$strLogLevelFile}{rank})
|
||||
# Output to file if configured log level setting rank is greater than the display level rank or test flag is set.
|
||||
if (!$rExtra->{bLogLogFile} && $iLogDisplayLevelRank <= $oLogLevelRank{$strLogLevelFile}{rank})
|
||||
{
|
||||
if (defined($hLogFile) || (defined($strLogLevelFile) && $strLogLevelFile ne OFF))
|
||||
{
|
||||
@@ -726,8 +754,8 @@ sub log
|
||||
$strLogFileCache .= $strMessageFormat;
|
||||
}
|
||||
|
||||
if ($strLevel eq ASSERT ||
|
||||
($strLevel eq ERROR && ($strLogLevelFile eq DEBUG || $strLogLevelFile eq TRACE)))
|
||||
if ($strDisplayLevel eq ASSERT ||
|
||||
($strDisplayLevel eq ERROR && ($strLogLevelFile eq DEBUG || $strLogLevelFile eq TRACE)))
|
||||
{
|
||||
my $strStackTrace = longmess() . "\n";
|
||||
$strStackTrace =~ s/\n/\n /g;
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# section meaning the rules defined there apply to all commands listed for the option.
|
||||
#
|
||||
# CFGBLDDEF_RULE_COMMAND:
|
||||
# List of commands the option can be used with this option. An empty hash signifies that the command does no deviate from the
|
||||
# List of commands the option can be used with this option. An empty hash signifies that the command does not deviate from the
|
||||
# option defaults. Otherwise, overrides can be specified.
|
||||
#
|
||||
# NOTE: If the option (A) has a dependency on another option (B) then the CFGCMD_ must also be specified in the other option
|
||||
@@ -284,7 +284,7 @@ use constant CFGOPT_RECOVERY_OPTION => 'recovery
|
||||
# Stanza options
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Determines how many databases can be configured
|
||||
use constant CFGDEF_INDEX_DB => 2;
|
||||
use constant CFGDEF_INDEX_DB => 8;
|
||||
|
||||
# Prefix that must be used by all db options that allow multiple configurations
|
||||
use constant CFGDEF_PREFIX_DB => 'db';
|
||||
|
@@ -962,7 +962,15 @@ sub replayWait
|
||||
sub dbObjectGet
|
||||
{
|
||||
# Assign function parameters, defaults, and log debug info
|
||||
my ($strOperation) = logDebugParam(__PACKAGE__ . '::dbObjectGet');
|
||||
my (
|
||||
$strOperation,
|
||||
$bMasterOnly,
|
||||
) =
|
||||
logDebugParam
|
||||
(
|
||||
__PACKAGE__ . '::dbObjectGet', \@_,
|
||||
{name => 'bMasterOnly', optional => true, default => false},
|
||||
);
|
||||
|
||||
my $iStandbyIdx = undef;
|
||||
my $iMasterRemoteIdx = 1;
|
||||
@@ -971,7 +979,7 @@ sub dbObjectGet
|
||||
|
||||
# Only iterate databases if online and more than one is defined. It might be better to check the version of each database but
|
||||
# this is simple and works.
|
||||
if (cfgOptionTest(CFGOPT_ONLINE) && cfgOption(CFGOPT_ONLINE) && cfgOptionTest(cfgOptionIndex(CFGOPT_DB_PATH, 2)))
|
||||
if (!$bMasterOnly && cfgOptionTest(CFGOPT_ONLINE) && cfgOption(CFGOPT_ONLINE) && multipleDb())
|
||||
{
|
||||
for (my $iRemoteIdx = 1; $iRemoteIdx <= cfgOptionIndexTotal(CFGOPT_DB_HOST); $iRemoteIdx++)
|
||||
{
|
||||
@@ -980,37 +988,50 @@ sub dbObjectGet
|
||||
cfgOptionTest(cfgOptionIndex(CFGOPT_DB_HOST, $iRemoteIdx)))
|
||||
{
|
||||
# Create the db object
|
||||
my $oDb = new pgBackRest::Db($iRemoteIdx);
|
||||
my $oDb;
|
||||
|
||||
logWarnOnErrorEnable();
|
||||
eval
|
||||
{
|
||||
$oDb = new pgBackRest::Db($iRemoteIdx);
|
||||
return true;
|
||||
}
|
||||
or do {};
|
||||
|
||||
logWarnOnErrorDisable();
|
||||
my $bAssigned = false;
|
||||
|
||||
# If able to connect then test if the database is a master or a standby. It's OK if some databases cannot be
|
||||
# reached as long as the databases required for the backup type are present.
|
||||
if ($oDb->connect(true))
|
||||
if (defined($oDb))
|
||||
{
|
||||
# If this db is a standby
|
||||
if ($oDb->isStandby())
|
||||
# If able to connect then test if the database is a master or a standby. It's OK if some databases cannot be
|
||||
# reached as long as the databases required for the backup type are present.
|
||||
if ($oDb->connect(true))
|
||||
{
|
||||
# If standby backup is requested then use the first standby found
|
||||
if (cfgOption(CFGOPT_BACKUP_STANDBY) && !defined($oDbStandby))
|
||||
# If this db is a standby
|
||||
if ($oDb->isStandby())
|
||||
{
|
||||
$oDbStandby = $oDb;
|
||||
$iStandbyIdx = $iRemoteIdx;
|
||||
# If standby backup is requested then use the first standby found
|
||||
if (cfgOption(CFGOPT_BACKUP_STANDBY) && !defined($oDbStandby))
|
||||
{
|
||||
$oDbStandby = $oDb;
|
||||
$iStandbyIdx = $iRemoteIdx;
|
||||
$bAssigned = true;
|
||||
}
|
||||
}
|
||||
# Else this db is a master
|
||||
else
|
||||
{
|
||||
# Error if more than one master is found
|
||||
if (defined($oDbMaster))
|
||||
{
|
||||
confess &log(ERROR, 'more than one master database found');
|
||||
}
|
||||
|
||||
$oDbMaster = $oDb;
|
||||
$iMasterRemoteIdx = $iRemoteIdx;
|
||||
$bAssigned = true;
|
||||
}
|
||||
}
|
||||
# Else this db is a master
|
||||
else
|
||||
{
|
||||
# Error if more than one master is found
|
||||
if (defined($oDbMaster))
|
||||
{
|
||||
confess &log(ERROR, 'more than one master database found');
|
||||
}
|
||||
|
||||
$oDbMaster = $oDb;
|
||||
$iMasterRemoteIdx = $iRemoteIdx;
|
||||
$bAssigned = true;
|
||||
}
|
||||
}
|
||||
|
||||
# If the db was not used then destroy the protocol object underneath it
|
||||
@@ -1021,16 +1042,18 @@ sub dbObjectGet
|
||||
}
|
||||
}
|
||||
|
||||
# Make sure the standby database is defined when backup from standby requested
|
||||
# Make sure a standby database is defined when backup from standby option is set
|
||||
if (cfgOption(CFGOPT_BACKUP_STANDBY) && !defined($oDbStandby))
|
||||
{
|
||||
confess &log(ERROR, 'unable to find standby database - cannot proceed');
|
||||
# Throw an error that is distinct from connecting to the master for testing purposes
|
||||
confess &log(ERROR, 'unable to find standby database - cannot proceed', ERROR_HOST_CONNECT);
|
||||
}
|
||||
|
||||
# A master database is always required
|
||||
if (!defined($oDbMaster))
|
||||
{
|
||||
confess &log(ERROR, 'unable to find master database - cannot proceed');
|
||||
# Throw an error that is distinct from connecting to a standy for testing purposes
|
||||
confess &log(ERROR, 'unable to find master database - cannot proceed', ERROR_DB_CONNECT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1064,7 +1087,7 @@ sub dbMasterGet
|
||||
# Assign function parameters, defaults, and log debug info
|
||||
my ($strOperation) = logDebugParam(__PACKAGE__ . '::dbMasterGet');
|
||||
|
||||
my ($oDbMaster) = dbObjectGet();
|
||||
my ($oDbMaster) = dbObjectGet({bMasterOnly => true});
|
||||
|
||||
# Return from function and log return values if any
|
||||
return logDebugReturn
|
||||
@@ -1076,4 +1099,23 @@ sub dbMasterGet
|
||||
|
||||
push @EXPORT, qw(dbMasterGet);
|
||||
|
||||
####################################################################################################################################
|
||||
# multipleDb
|
||||
#
|
||||
# Helper function to determine if there is more than one database defined.
|
||||
####################################################################################################################################
|
||||
sub multipleDb
|
||||
{
|
||||
for (my $iDbPathIdx = 2; $iDbPathIdx <= cfgOptionIndexTotal(CFGOPT_DB_PATH); $iDbPathIdx++)
|
||||
{
|
||||
# If an index exists above 1 then return true
|
||||
if (cfgOptionTest(cfgOptionIndex(CFGOPT_DB_PATH, $iDbPathIdx)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
1;
|
||||
|
@@ -46,7 +46,7 @@ sub new
|
||||
my $strOperation = logDebugParam(__PACKAGE__ . '->new');
|
||||
|
||||
# Initialize the database object
|
||||
$self->{oDb} = dbMasterGet();
|
||||
($self->{oDb}) = dbObjectGet();
|
||||
$self->dbInfoGet();
|
||||
|
||||
# Return from function and log return values if any
|
||||
|
@@ -59,7 +59,7 @@ ok (!cfgRuleOptionDependValueValid(CFGCMD_RESTORE, CFGOPT_TARGET, 'bogus'));
|
||||
|
||||
ok (cfgRuleOptionHint(CFGCMD_BACKUP, CFGOPT_DB1_PATH) eq 'does this stanza exist?');
|
||||
|
||||
ok (cfgOptionIndexTotal(CFGOPT_DB_PATH) == 2);
|
||||
ok (cfgOptionIndexTotal(CFGOPT_DB_PATH) == 8);
|
||||
ok (cfgOptionIndexTotal(CFGOPT_REPO_PATH) == 1);
|
||||
|
||||
ok (cfgRuleOptionNameAlt(CFGOPT_DB1_HOST) eq 'db-host');
|
||||
|
@@ -10,19 +10,67 @@ This function is valid when `cfgRuleOptionValid()` = `true`. Permutations that r
|
||||
|
||||
| Function | uiOptionId | Result |
|
||||
| -------- | ---------- | ------ |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_CMD` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_CONFIG` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_HOST` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_PATH` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_PORT` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_SOCKET_PATH` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_SSH_PORT` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_USER` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_CMD` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_CONFIG` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_HOST` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_PATH` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_PORT` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_SOCKET_PATH` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_SSH_PORT` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_USER` | `2` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB1_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB2_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB3_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB4_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB5_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB6_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB7_USER` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_CMD` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_CONFIG` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_HOST` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_SOCKET_PATH` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_SSH_PORT` | `8` |
|
||||
| cfgOptionIndexTotal | `CFGOPT_DB8_USER` | `8` |
|
||||
|
@@ -203,6 +203,24 @@ This function is valid when `cfgRuleOptionValid()` = `true`. Permutations that r
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB2_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB2_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB2_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB3_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB3_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB3_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB4_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB4_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB4_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB5_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB5_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB5_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB6_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB6_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB6_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB7_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB7_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB7_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB8_CONFIG` | `"/etc/pgbackrest.conf"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB8_PORT` | `"5432"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DB8_USER` | `"postgres"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_DELTA` | `"0"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_FORCE` | `"0"` |
|
||||
| cfgRuleOptionDefault | _\<ANY\>_ | `CFGOPT_HARDLINK` | `"0"` |
|
||||
@@ -258,6 +276,30 @@ This function is valid when `cfgRuleOptionValid()` = `true`. Permutations that r
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB2_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB2_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB3_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB4_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB5_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB6_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB7_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_DB8_USER` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_RECOVERY_OPTION` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_REPO_S3_BUCKET` | `true` |
|
||||
| cfgRuleOptionDepend | _\<ANY\>_ | `CFGOPT_REPO_S3_CA_FILE` | `true` |
|
||||
@@ -300,6 +342,30 @@ This function is valid when `cfgRuleOptionDepend()` = `true`.
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB2_CONFIG` | `CFGOPT_DB2_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB2_SSH_PORT` | `CFGOPT_DB2_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB2_USER` | `CFGOPT_DB2_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB3_CMD` | `CFGOPT_DB3_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB3_CONFIG` | `CFGOPT_DB3_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB3_SSH_PORT` | `CFGOPT_DB3_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB3_USER` | `CFGOPT_DB3_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB4_CMD` | `CFGOPT_DB4_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB4_CONFIG` | `CFGOPT_DB4_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB4_SSH_PORT` | `CFGOPT_DB4_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB4_USER` | `CFGOPT_DB4_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB5_CMD` | `CFGOPT_DB5_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB5_CONFIG` | `CFGOPT_DB5_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB5_SSH_PORT` | `CFGOPT_DB5_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB5_USER` | `CFGOPT_DB5_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB6_CMD` | `CFGOPT_DB6_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB6_CONFIG` | `CFGOPT_DB6_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB6_SSH_PORT` | `CFGOPT_DB6_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB6_USER` | `CFGOPT_DB6_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB7_CMD` | `CFGOPT_DB7_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB7_CONFIG` | `CFGOPT_DB7_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB7_SSH_PORT` | `CFGOPT_DB7_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB7_USER` | `CFGOPT_DB7_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB8_CMD` | `CFGOPT_DB8_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB8_CONFIG` | `CFGOPT_DB8_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB8_SSH_PORT` | `CFGOPT_DB8_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_DB8_USER` | `CFGOPT_DB8_HOST` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_FORCE` | `CFGOPT_ONLINE` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_RECOVERY_OPTION` | `CFGOPT_TYPE` |
|
||||
| cfgRuleOptionDependOption | _\<ANY\>_ | `CFGOPT_REPO_S3_BUCKET` | `CFGOPT_REPO_TYPE` |
|
||||
@@ -385,6 +451,30 @@ This function is valid when `cfgRuleOptionDepend()` = `true`.
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB2_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB2_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB2_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB3_CMD` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB3_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB3_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB3_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB4_CMD` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB4_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB4_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB4_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB5_CMD` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB5_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB5_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB5_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB6_CMD` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB6_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB6_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB6_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB7_CMD` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB7_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB7_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB7_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB8_CMD` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB8_CONFIG` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB8_SSH_PORT` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_DB8_USER` | `0` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_FORCE` | `1` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_RECOVERY_OPTION` | `4` |
|
||||
| cfgRuleOptionDependValueTotal | _\<ANY\>_ | `CFGOPT_REPO_S3_BUCKET` | `1` |
|
||||
@@ -416,6 +506,12 @@ This function is valid when `cfgRuleOptionValid()` = `true`. Permutations that r
|
||||
| -------- | ----------- | ---------- | ------ |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB1_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB2_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB3_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB4_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB5_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB6_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB7_PATH` | `"does this stanza exist?"` |
|
||||
| cfgRuleOptionHint | _\<ANY\>_ | `CFGOPT_DB8_PATH` | `"does this stanza exist?"` |
|
||||
|
||||
## cfgRuleOptionNameAlt
|
||||
|
||||
@@ -490,6 +586,54 @@ Permutations that return `NULL` are excluded for brevity.
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB2_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB2_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB2_USER` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_CMD` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_CONFIG` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_HOST` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB3_USER` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_CMD` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_CONFIG` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_HOST` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB4_USER` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_CMD` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_CONFIG` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_HOST` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB5_USER` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_CMD` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_CONFIG` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_HOST` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB6_USER` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_CMD` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_CONFIG` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_HOST` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB7_USER` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_CMD` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_CONFIG` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_HOST` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_SOCKET_PATH` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_SSH_PORT` | `"db"` |
|
||||
| cfgRuleOptionPrefix | `CFGOPT_DB8_USER` | `"db"` |
|
||||
|
||||
## cfgRuleOptionRequired
|
||||
|
||||
@@ -614,6 +758,54 @@ Permutations that return `NULL` are excluded for brevity.
|
||||
| cfgRuleOptionSection | `CFGOPT_DB2_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB2_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB2_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_CMD` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_CONFIG` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_HOST` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB3_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_CMD` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_CONFIG` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_HOST` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB4_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_CMD` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_CONFIG` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_HOST` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB5_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_CMD` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_CONFIG` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_HOST` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB6_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_CMD` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_CONFIG` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_HOST` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB7_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_CMD` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_CONFIG` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_HOST` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_SOCKET_PATH` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_SSH_PORT` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_DB8_USER` | `"stanza"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_HARDLINK` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_LINK_ALL` | `"global"` |
|
||||
| cfgRuleOptionSection | `CFGOPT_LINK_MAP` | `"global"` |
|
||||
@@ -709,6 +901,54 @@ Secure options can never be passed on the commmand-line.
|
||||
| cfgRuleOptionType | `CFGOPT_DB2_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB2_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB2_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_CMD` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_CONFIG` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_HOST` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB3_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_CMD` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_CONFIG` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_HOST` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB4_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_CMD` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_CONFIG` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_HOST` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB5_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_CMD` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_CONFIG` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_HOST` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB6_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_CMD` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_CONFIG` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_HOST` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB7_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_CMD` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_CONFIG` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_HOST` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_SOCKET_PATH` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_SSH_PORT` | `CFGOPTDEF_TYPE_INTEGER` |
|
||||
| cfgRuleOptionType | `CFGOPT_DB8_USER` | `CFGOPTDEF_TYPE_STRING` |
|
||||
| cfgRuleOptionType | `CFGOPT_DELTA` | `CFGOPTDEF_TYPE_BOOLEAN` |
|
||||
| cfgRuleOptionType | `CFGOPT_FORCE` | `CFGOPTDEF_TYPE_BOOLEAN` |
|
||||
| cfgRuleOptionType | `CFGOPT_HARDLINK` | `CFGOPTDEF_TYPE_BOOLEAN` |
|
||||
@@ -785,6 +1025,12 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB_TIMEOUT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB1_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB2_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_GET` | `CFGOPT_LOG_LEVEL_FILE` | `true` |
|
||||
@@ -827,6 +1073,24 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB2_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB2_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_ARCHIVE_PUSH` | `CFGOPT_LOG_LEVEL_FILE` | `true` |
|
||||
@@ -880,6 +1144,54 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB2_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB2_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB3_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB4_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB5_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB6_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB7_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_DB8_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_FORCE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_HARDLINK` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_BACKUP` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
@@ -946,6 +1258,54 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB2_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB2_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB3_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB4_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB5_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB6_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB7_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_DB8_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_LOG_LEVEL_FILE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_CHECK` | `CFGOPT_LOG_LEVEL_STDERR` | `true` |
|
||||
@@ -977,6 +1337,30 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB2_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB2_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_EXPIRE` | `CFGOPT_LOG_LEVEL_FILE` | `true` |
|
||||
@@ -1056,6 +1440,48 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB2_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB2_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB3_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB4_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB5_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB6_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB7_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_DB8_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_HOST_ID` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_LOCAL` | `CFGOPT_LOG_LEVEL_STDERR` | `true` |
|
||||
@@ -1088,6 +1514,24 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB2_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB2_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB2_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB3_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB3_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB4_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB4_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB5_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB5_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB6_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB6_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB7_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB7_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB8_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_DB8_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_LOG_LEVEL_STDERR` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_REMOTE` | `CFGOPT_LOG_PATH` | `true` |
|
||||
@@ -1121,6 +1565,12 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB_INCLUDE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB1_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB2_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_DELTA` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_FORCE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_RESTORE` | `CFGOPT_LINK_ALL` | `true` |
|
||||
@@ -1183,6 +1633,54 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB2_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB2_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB3_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB4_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB5_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB6_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB7_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_DB8_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_FORCE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_CREATE` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
@@ -1232,6 +1730,54 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB2_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB2_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB3_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB4_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB5_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB6_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB7_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_SOCKET_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_DB8_USER` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STANZA_UPGRADE` | `CFGOPT_LOG_LEVEL_FILE` | `true` |
|
||||
@@ -1267,6 +1813,30 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB2_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB2_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_START` | `CFGOPT_LOG_LEVEL_FILE` | `true` |
|
||||
@@ -1301,6 +1871,30 @@ Permutations that return `false` are excluded for brevity.
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB2_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB2_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB2_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB3_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB3_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB3_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB3_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB4_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB4_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB4_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB4_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB5_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB5_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB5_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB5_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB6_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB6_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB6_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB6_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB7_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB7_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB7_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB7_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB8_CMD` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB8_CONFIG` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB8_HOST` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_DB8_SSH_PORT` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_FORCE` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_LOCK_PATH` | `true` |
|
||||
| cfgRuleOptionValid | `CFGCMD_STOP` | `CFGOPT_LOG_LEVEL_CONSOLE` | `true` |
|
||||
|
@@ -88,6 +88,7 @@ P00 DEBUG: Backup::Common::backupRegExpGet(): bAnchor = <true>, bDifferenti
|
||||
P00 DEBUG: Backup::Common::backupRegExpGet=>: strRegExp = ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
|
||||
P00 DEBUG: Storage::Local->list(): bIgnoreMissing = <false>, strExpression = ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, strPathExp = [TEST_PATH]/db-master/repo/backup/db, strSortOrder = <forward>
|
||||
P00 DEBUG: Storage::Local->list=>: stryFileList = ()
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = 16384, oDriver = [object], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/db/base, strTempExtension = pgbackrest.tmp
|
||||
@@ -468,6 +469,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/db-master
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/db-master/repo/backup/db/[BACKUP-FULL-1]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = 4194304, oDriver = [object], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/db/base, strTempExtension = pgbackrest.tmp
|
||||
@@ -635,6 +637,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/db-master
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = false
|
||||
P00 WARN: backup [BACKUP-FULL-1] missing in repository removed from backup.info
|
||||
P00 DEBUG: Backup::Info->delete(): strBackupLabel = [BACKUP-FULL-1]
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = 4194304, oDriver = [object], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/db/base, strTempExtension = pgbackrest.tmp
|
||||
@@ -1530,6 +1533,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/db-master
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/db-master/repo/backup/db/[BACKUP-FULL-2]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = 4194304, oDriver = [object], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/db/base, strTempExtension = pgbackrest.tmp
|
||||
@@ -1834,6 +1838,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/db-master
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = false
|
||||
P00 WARN: backup [BACKUP-INCR-1] missing in repository removed from backup.info
|
||||
P00 DEBUG: Backup::Info->delete(): strBackupLabel = [BACKUP-INCR-1]
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Storage::Local->new(): bAllowTemp = <true>, hRule = [undef], lBufferMax = 4194304, oDriver = [object], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/db/base, strTempExtension = pgbackrest.tmp
|
||||
|
@@ -88,6 +88,7 @@ P00 DEBUG: Backup::Common::backupRegExpGet(): bAnchor = <true>, bDifferenti
|
||||
P00 DEBUG: Backup::Common::backupRegExpGet=>: strRegExp = ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$
|
||||
P00 DEBUG: Storage::Local->list(): bIgnoreMissing = <false>, strExpression = ^[0-9]{8}\-[0-9]{6}F(\_[0-9]{8}\-[0-9]{6}(D|I)){0,1}$, strPathExp = [TEST_PATH]/backup/repo/backup/db, strSortOrder = <forward>
|
||||
P00 DEBUG: Storage::Local->list=>: stryFileList = ()
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -467,6 +468,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/backup/repo/backup/db/[BACKUP-FULL-1]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -564,6 +566,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/backup/repo/backup/db/[BACKUP-FULL-1]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -648,6 +651,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/backup/repo/backup/db/[BACKUP-FULL-1]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -718,6 +722,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/backup/repo/backup/db/[BACKUP-FULL-1]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -810,6 +815,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/backup/repo/backup/db/[BACKUP-FULL-1]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -919,6 +925,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = false
|
||||
P00 WARN: backup [BACKUP-FULL-1] missing in repository removed from backup.info
|
||||
P00 DEBUG: Backup::Info->delete(): strBackupLabel = [BACKUP-FULL-1]
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -1630,6 +1637,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = true
|
||||
P00 DEBUG: Storage::Local->exists(): strFileExp = [TEST_PATH]/backup/repo/backup/db/[BACKUP-FULL-2]/backup.manifest
|
||||
P00 DEBUG: Storage::Local->exists=>: bExists = true
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
@@ -1960,6 +1968,7 @@ P00 DEBUG: Storage::Local->pathExists(): strPathExp = [TEST_PATH]/backup/re
|
||||
P00 DEBUG: Storage::Local->pathExists=>: bExists = false
|
||||
P00 WARN: backup [BACKUP-INCR-1] missing in repository removed from backup.info
|
||||
P00 DEBUG: Backup::Info->delete(): strBackupLabel = [BACKUP-INCR-1]
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = <false>
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Protocol::Helper::protocolGet(): bCache = <true>, iProcessIdx = [undef], iRemoteIdx = 1, strBackRestBin = [undef], strCommand = <backup>, strRemoteType = db
|
||||
P00 DEBUG: Protocol::Helper::protocolGet: create (cached) remote protocol
|
||||
|
@@ -103,6 +103,7 @@ P00 INFO: get WAL segment 000000010000000100000001
|
||||
P00 DEBUG: Archive::Get::Get->get(): strDestinationFile = [TEST_PATH]/db-master/db/base/pg_xlog/RECOVERYXLOG, strSourceArchive = 000000010000000100000001
|
||||
P00 DEBUG: Storage::Local->new(): bAllowTemp = <true>, hRule = [hash], lBufferMax = 4194304, oDriver = [object], strDefaultFileMode = <0640>, strDefaultPathMode = <0750>, strPathBase = [TEST_PATH]/db-master/repo, strTempExtension = pgbackrest.tmp
|
||||
P00 DEBUG: Archive::Base->getCheck(): strDbVersion = [undef], strWalFile = 000000010000000100000001, ullDbSysId = [undef]
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = true
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Db->info(): strDbPath = <[TEST_PATH]/db-master/db/base>
|
||||
|
@@ -103,6 +103,7 @@ P00 DEBUG: Protocol::Remote::Master->new(): iBufferMax = 4194304, iCompress
|
||||
P00 DEBUG: Protocol::Command::Master->new(): iBufferMax = 4194304, iCompressLevel = 6, iCompressLevelNetwork = 3, 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=6 --compress-level-network=3 --config=[TEST_PATH]/backup/pgbackrest.conf --db-timeout=45 --db1-path=[TEST_PATH]/db-master/db/base --protocol-timeout=60 --stanza=db --type=backup remote', strId = 'backup remote', strName = remote
|
||||
P00 DEBUG: Protocol::Storage::Remote->new(): oProtocol = [object]
|
||||
P00 DEBUG: Archive::Base->getCheck(): strDbVersion = [undef], strWalFile = 000000010000000100000001, ullDbSysId = [undef]
|
||||
P00 DEBUG: Db::dbObjectGet(): bMasterOnly = true
|
||||
P00 DEBUG: Db->new(): iRemoteIdx = 1
|
||||
P00 DEBUG: Db::dbObjectGet=>: iDbMasterIdx = 1, iDbStandbyIdx = [undef], oDbMaster = [object], oDbStandby = [undef]
|
||||
P00 DEBUG: Db->info(): strDbPath = <[TEST_PATH]/db-master/db/base>
|
||||
|
@@ -17,9 +17,14 @@ 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=db-standby
|
||||
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]
|
||||
|
||||
[global]
|
||||
compress=n
|
||||
@@ -69,6 +74,10 @@ primary_conninfo = 'host=db-master port=6543 user=replicator'
|
||||
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
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
full backup - backup from standby (db-master host)
|
||||
> [CONTAINER-EXEC] db-master [BACKREST-BIN] --config=[TEST_PATH]/db-master/pgbackrest.conf --retention-full=1 --backup-standby --type=full --stanza=db backup
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -81,9 +90,14 @@ 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=db-standby
|
||||
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]
|
||||
|
||||
[global]
|
||||
archive-async=y
|
||||
@@ -142,9 +156,14 @@ 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=db-standby
|
||||
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]
|
||||
|
||||
[global]
|
||||
archive-async=y
|
||||
|
@@ -39,9 +39,14 @@ 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=db-master
|
||||
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]
|
||||
|
||||
[global]
|
||||
compress=n
|
||||
@@ -69,6 +74,10 @@ primary_conninfo = 'host=db-master port=6543 user=replicator'
|
||||
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
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
full backup - backup from standby (db-standby host)
|
||||
> [CONTAINER-EXEC] db-standby [BACKREST-BIN] --config=[TEST_PATH]/db-standby/pgbackrest.conf --retention-full=1 --backup-standby --type=full --stanza=db backup
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -103,9 +112,14 @@ 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=db-master
|
||||
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]
|
||||
|
||||
[db:restore]
|
||||
|
||||
@@ -164,9 +178,14 @@ 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=db-master
|
||||
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]
|
||||
|
||||
[db:restore]
|
||||
|
||||
|
@@ -64,10 +64,15 @@ db1-port=[PORT-1]
|
||||
db1-user=[USER-2]
|
||||
db2-cmd=[BACKREST-BIN]
|
||||
db2-config=[TEST_PATH]/db-standby/pgbackrest.conf
|
||||
db2-host=db-standby
|
||||
db2-host=bogus
|
||||
db2-path=[TEST_PATH]/db-standby/db/base
|
||||
db2-port=[PORT-2]
|
||||
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]
|
||||
|
||||
[global]
|
||||
compress=n
|
||||
@@ -94,6 +99,10 @@ primary_conninfo = 'host=db-master port=6543 user=replicator'
|
||||
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
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
full backup - backup from standby (backup host)
|
||||
> [CONTAINER-EXEC] backup [BACKREST-BIN] --config=[TEST_PATH]/backup/pgbackrest.conf --retention-full=1 --backup-standby --type=full --stanza=db backup
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -155,10 +164,15 @@ db1-port=[PORT-1]
|
||||
db1-user=[USER-2]
|
||||
db2-cmd=[BACKREST-BIN]
|
||||
db2-config=[TEST_PATH]/db-standby/pgbackrest.conf
|
||||
db2-host=db-standby
|
||||
db2-host=bogus
|
||||
db2-path=[TEST_PATH]/db-standby/db/base
|
||||
db2-port=[PORT-2]
|
||||
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]
|
||||
|
||||
[global]
|
||||
archive-async=y
|
||||
@@ -241,10 +255,15 @@ db1-port=[PORT-1]
|
||||
db1-user=[USER-2]
|
||||
db2-cmd=[BACKREST-BIN]
|
||||
db2-config=[TEST_PATH]/db-standby/pgbackrest.conf
|
||||
db2-host=db-standby
|
||||
db2-host=bogus
|
||||
db2-path=[TEST_PATH]/db-standby/db/base
|
||||
db2-port=[PORT-2]
|
||||
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]
|
||||
|
||||
[global]
|
||||
archive-async=y
|
||||
|
@@ -124,6 +124,15 @@ my $oTestDef =
|
||||
'Common/Io/Process' => TESTDEF_COVERAGE_PARTIAL,
|
||||
},
|
||||
},
|
||||
{
|
||||
&TESTDEF_NAME => 'log',
|
||||
&TESTDEF_TOTAL => 1,
|
||||
|
||||
&TESTDEF_COVERAGE =>
|
||||
{
|
||||
'Common/Log' => TESTDEF_COVERAGE_PARTIAL,
|
||||
},
|
||||
},
|
||||
]
|
||||
},
|
||||
# Help tests
|
||||
|
@@ -1036,16 +1036,27 @@ sub configCreate
|
||||
|
||||
if (defined($oHostDb2))
|
||||
{
|
||||
$oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_HOST, 2)} = $oHostDb2->nameGet();
|
||||
$oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_USER, 2)} = $oHostDb2->userGet();
|
||||
$oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CMD, 2)} = $oHostDb2->backrestExe();
|
||||
$oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_CONFIG, 2)} = $oHostDb2->backrestConfig();
|
||||
$oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PATH, 2)} = $oHostDb2->dbBasePath();
|
||||
# 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();
|
||||
|
||||
# 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();
|
||||
|
||||
# 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, 2)} = $oHostDb2->pgPort();
|
||||
$oParamHash{$strStanza}{$self->optionIndexName(CFGOPT_DB_PORT, $iValidReplica)} = $oHostDb2->pgPort();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
43
test/lib/pgBackRestTest/Module/Common/CommonLogTest.pm
Normal file
43
test/lib/pgBackRestTest/Module/Common/CommonLogTest.pm
Normal file
@@ -0,0 +1,43 @@
|
||||
####################################################################################################################################
|
||||
# CommonLogTest.pm - Unit tests for Log module
|
||||
####################################################################################################################################
|
||||
package pgBackRestTest::Module::Common::CommonLogTest;
|
||||
use parent 'pgBackRestTest::Common::RunTest';
|
||||
|
||||
####################################################################################################################################
|
||||
# Perl includes
|
||||
####################################################################################################################################
|
||||
use strict;
|
||||
use warnings FATAL => qw(all);
|
||||
use Carp qw(confess);
|
||||
use English '-no_match_vars';
|
||||
|
||||
use pgBackRest::Common::Exception;
|
||||
use pgBackRest::Common::Ini;
|
||||
use pgBackRest::Common::Log;
|
||||
use pgBackRest::Version;
|
||||
|
||||
use pgBackRestTest::Common::ExecuteTest;
|
||||
use pgBackRestTest::Common::RunTest;
|
||||
|
||||
####################################################################################################################################
|
||||
# run
|
||||
####################################################################################################################################
|
||||
sub run
|
||||
{
|
||||
my $self = shift;
|
||||
|
||||
################################################################################################################################
|
||||
if ($self->begin("log()"))
|
||||
{
|
||||
logWarnOnErrorEnable();
|
||||
$self->testResult(sub {&log(ERROR, "my test log", 27)}, "[object]", 'log error as warning',
|
||||
{strLogExpect => "WARN: [027]: my test log"});
|
||||
|
||||
logWarnOnErrorDisable();
|
||||
$self->testResult(sub {&log(ERROR, "my test log", 27)}, "[object]", 'log error',
|
||||
{strLogExpect => "ERROR: [027]: my test log"});
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
@@ -461,6 +461,30 @@ sub run
|
||||
# Update message for standby
|
||||
$oHostDbMaster->sqlExecute("update test set message = '$strStandbyMessage'");
|
||||
|
||||
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
|
||||
# are BOGUS, confirm failure to reach the master
|
||||
if (!$bHostBackup && $bHostStandby && $strBackupDestination eq HOST_DB_STANDBY)
|
||||
{
|
||||
my $strStandbyBackup = $oHostBackup->backup(
|
||||
CFGOPTVAL_BACKUP_TYPE_FULL, 'backup from standby, failure to reach master',
|
||||
{bStandby => true,
|
||||
iExpectedExitStatus => ERROR_DB_CONNECT,
|
||||
strOptionalParam => '--' .
|
||||
$oHostBackup->optionIndexName(CFGOPT_DB_HOST, cfgOptionIndexTotal(CFGOPT_DB_PATH)) . '=' . BOGUS});
|
||||
}
|
||||
else
|
||||
{
|
||||
my $strStandbyBackup = $oHostBackup->backup(
|
||||
CFGOPTVAL_BACKUP_TYPE_FULL, 'backup from standby, failure to access at least one standby',
|
||||
{bStandby => true,
|
||||
iExpectedExitStatus => ERROR_HOST_CONNECT,
|
||||
strOptionalParam => '--' .
|
||||
$oHostBackup->optionIndexName(CFGOPT_DB_HOST, cfgOptionIndexTotal(CFGOPT_DB_PATH)) . '=' . BOGUS});
|
||||
}
|
||||
}
|
||||
|
||||
my $strStandbyBackup = $oHostBackup->backup(
|
||||
CFGOPTVAL_BACKUP_TYPE_FULL, 'backup from standby',
|
||||
{bStandby => true,
|
||||
|
Reference in New Issue
Block a user