You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-11-06 08:49:29 +02:00
Add standby restore type.
This restore type automatically adds standby_mode=on to recovery.conf. This could be accomplished previously by setting --recovery-option=standby_mode=on but PostgreSQL 12 requires standby mode to be enabled by a special file named standby.signal. The new restore type allows us to maintain a common interface between PostgreSQL versions.
This commit is contained in:
@@ -439,9 +439,9 @@ sub run
|
||||
|
||||
$oHostDbStandby->restore(
|
||||
'restore backup on replica', cfgDefOptionDefault(CFGCMD_RESTORE, CFGOPT_SET),
|
||||
{rhRemapHash => \%oRemapHash,
|
||||
{rhRemapHash => \%oRemapHash, strType => CFGOPTVAL_RESTORE_TYPE_STANDBY,
|
||||
strOptionalParam =>
|
||||
' --recovery-option=standby_mode=on --recovery-option="primary_conninfo=host=' . HOST_DB_MASTER .
|
||||
' --recovery-option="primary_conninfo=host=' . HOST_DB_MASTER .
|
||||
' port=' . $oHostDbMaster->pgPort() . ' user=replicator"'});
|
||||
|
||||
$oHostDbStandby->clusterStart({bHotStandby => true});
|
||||
@@ -960,8 +960,10 @@ sub run
|
||||
|
||||
$oHostDbMaster->restore(
|
||||
undef, $strIncrBackup,
|
||||
{bDelta => true, strType => CFGOPTVAL_RESTORE_TYPE_DEFAULT, strTargetTimeline => 4,
|
||||
rhRecoveryHash => $oHostDbMaster->pgVersion() >= PG_VERSION_90 ? {'standby-mode' => 'on'} : undef});
|
||||
{bDelta => true,
|
||||
strType => $oHostDbMaster->pgVersion() >= PG_VERSION_90 ?
|
||||
CFGOPTVAL_RESTORE_TYPE_STANDBY : CFGOPTVAL_RESTORE_TYPE_DEFAULT,
|
||||
strTargetTimeline => 4});
|
||||
|
||||
$oHostDbMaster->clusterStart({bHotStandby => true});
|
||||
$oHostDbMaster->sqlSelectOneTest('select message from test', $strTimelineMessage, {iTimeout => 120});
|
||||
|
||||
Reference in New Issue
Block a user