*** a/doc/src/sgml/func.sgml
--- b/doc/src/sgml/func.sgml
***************
*** 14219,14224 **** postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
--- 14219,14234 ----
+
+ pg_is_xlog_replay_paused
+
+
+ pg_xlog_replay_pause
+
+
+ pg_xlog_replay_resume
+
+
The functions shown in control the progress of recovery.
*** a/doc/src/sgml/recovery-config.sgml
--- b/doc/src/sgml/recovery-config.sgml
***************
*** 272,277 **** restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
--- 272,281 ----
recovery target settings to a later target and restart to
continue recovery.
+
+ This setting has no effect if either
+ is off> or no recovery target is set.
+
*** a/src/backend/access/transam/recovery.conf.sample
--- b/src/backend/access/transam/recovery.conf.sample
***************
*** 87,92 ****
--- 87,100 ----
#
#recovery_target_timeline = 'latest'
#
+ #
+ # If pause_at_recovery_target is enabled, recovery will pause when the
+ # recovery target is reached. The pause state will continue until
+ # pg_xlog_replay_resume() is called. This setting has no effect if either
+ # hot standby is disabled or no recovery target is set.
+ #
+ #pause_at_recovery_target = true
+ #
#---------------------------------------------------------------------------
# STANDBY SERVER PARAMETERS
#---------------------------------------------------------------------------
*** a/src/backend/access/transam/xlog.c
--- b/src/backend/access/transam/xlog.c
***************
*** 6481,6486 **** StartupXLOG(void)
--- 6481,6488 ----
{
if (recoveryPauseAtTarget)
{
+ ereport(LOG,
+ (errmsg("Recovery has paused. Execute pg_xlog_replay_resume() to continue.")));
SetRecoveryPause(true);
recoveryPausesHere();
}