@ -223,7 +223,7 @@ static bool recoveryPauseAtTarget = true;
static TransactionId recoveryTargetXid ;
static TransactionId recoveryTargetXid ;
static TimestampTz recoveryTargetTime ;
static TimestampTz recoveryTargetTime ;
static char * recoveryTargetName ;
static char * recoveryTargetName ;
static int min_ recovery_apply_delay = 0 ;
static int recovery_min _apply_delay = 0 ;
static TimestampTz recoveryDelayUntilTime ;
static TimestampTz recoveryDelayUntilTime ;
/* options taken from recovery.conf for XLOG streaming */
/* options taken from recovery.conf for XLOG streaming */
@ -5236,18 +5236,19 @@ readRecoveryCommandFile(void)
( errmsg_internal ( " trigger_file = '%s' " ,
( errmsg_internal ( " trigger_file = '%s' " ,
TriggerFile ) ) ) ;
TriggerFile ) ) ) ;
}
}
else if ( strcmp ( item - > name , " min_ recovery_apply_delay" ) = = 0 )
else if ( strcmp ( item - > name , " recovery_min _apply_delay " ) = = 0 )
{
{
const char * hintmsg ;
const char * hintmsg ;
if ( ! parse_int ( item - > value , & min_ recovery_apply_delay, GUC_UNIT_MS ,
if ( ! parse_int ( item - > value , & recovery_min _apply_delay , GUC_UNIT_MS ,
& hintmsg ) )
& hintmsg ) )
ereport ( ERROR ,
ereport ( ERROR ,
( errcode ( ERRCODE_INVALID_PARAMETER_VALUE ) ,
( errcode ( ERRCODE_INVALID_PARAMETER_VALUE ) ,
errmsg ( " parameter \" %s \" requires a temporal value " , " min_recovery_apply_delay " ) ,
errmsg ( " parameter \" %s \" requires a temporal value " ,
" recovery_min_apply_delay " ) ,
hintmsg ? errhint ( " %s " , _ ( hintmsg ) ) : 0 ) ) ;
hintmsg ? errhint ( " %s " , _ ( hintmsg ) ) : 0 ) ) ;
ereport ( DEBUG2 ,
ereport ( DEBUG2 ,
( errmsg ( " min_ recovery_apply_delay = '%s'" , item - > value ) ) ) ;
( errmsg ( " recovery_min _apply_delay = '%s' " , item - > value ) ) ) ;
}
}
else
else
ereport ( FATAL ,
ereport ( FATAL ,
@ -5669,7 +5670,7 @@ SetRecoveryPause(bool recoveryPause)
}
}
/*
/*
* When min_ recovery_apply_delay is set , we wait long enough to make sure
* When recovery_min _apply_delay is set , we wait long enough to make sure
* certain record types are applied at least that interval behind the master .
* certain record types are applied at least that interval behind the master .
*
*
* Returns true if we waited .
* Returns true if we waited .
@ -5690,7 +5691,7 @@ recoveryApplyDelay(XLogRecord *record)
int microsecs ;
int microsecs ;
/* nothing to do if no delay configured */
/* nothing to do if no delay configured */
if ( min_ recovery_apply_delay = = 0 )
if ( recovery_min _apply_delay = = 0 )
return false ;
return false ;
/*
/*
@ -5711,7 +5712,7 @@ recoveryApplyDelay(XLogRecord *record)
return false ;
return false ;
recoveryDelayUntilTime =
recoveryDelayUntilTime =
TimestampTzPlusMilliseconds ( xtime , min_ recovery_apply_delay) ;
TimestampTzPlusMilliseconds ( xtime , recovery_min _apply_delay ) ;
/*
/*
* Exit without arming the latch if it ' s already past time to apply this
* Exit without arming the latch if it ' s already past time to apply this