By default, recovery will recover to the end of the WAL log.
The following parameters can be used to specify an earlier
stopping point. At most one of
recovery_target_xid can be used; if more than
one of these is specified in the configuration file, the last
entry will be used.
This parameter specifies that recovery should end as soon as a consistent state is reached, i.e. as early as possible. When restoring from an online backup, this means the point where taking the backup ended.
Technically, this is a string parameter, but
'immediate' is currently the
only allowed value.
This parameter specifies the named restore point
pg_create_restore_point()) to which
recovery will proceed.
This parameter specifies the time stamp up to which recovery will proceed. The precise stopping point is also influenced by recovery_target_inclusive.
This parameter specifies the transaction ID up to which recovery will proceed. Keep in mind that while transaction IDs are assigned sequentially at transaction start, transactions can complete in a different numeric order. The transactions that will be recovered are those that committed before (and optionally including) the specified one. The precise stopping point is also influenced by recovery_target_inclusive.
This parameter specifies the LSN of the write-ahead log
location up to which recovery will proceed. The precise
stopping point is also influenced by recovery_target_inclusive.
This parameter is parsed using the system data type
The following options further specify the recovery target, and affect what happens when the target is reached:
Specifies whether to stop just after the specified
recovery target (
just before the recovery target (
false). Applies when recovery_target_lsn,
is specified. This setting controls whether transactions
having exactly the target WAL location (LSN), commit time,
or transaction ID, respectively, will be included in the
recovery. Default is
Specifies recovering into a particular timeline. The
default is to recover along the same timeline that was
current when the base backup was taken. Setting this to
latest recovers to the latest
timeline found in the archive, which is useful in a standby
server. Other than that you only need to set this parameter
in complex re-recovery situations, where you need to return
to a state that itself was reached after a point-in-time
recovery. See Section 25.3.5 for
Specifies what action the server should take once the
recovery target is reached. The default is
pause, which means recovery will be
promote means the
recovery process will finish and the server will start to
accept connections. Finally
shutdown will stop the server after
reaching the recovery target.
The intended use of the
pause setting is to allow queries to be
executed against the database to check if this recovery
target is the most desirable point for recovery. The paused
state can be resumed by using
pg_wal_replay_resume() (see Table 9.81),
which then causes recovery to end. If this recovery target
is not the desired stopping point, then shut down the
server, change the recovery target settings to a later
target and restart to continue recovery.
shutdown setting is
useful to have the instance ready at the exact replay point
desired. The instance will still be able to replay more WAL
records (and in fact will have to replay WAL records since
the last checkpoint next time it is started).
Note that because
recovery.conf will not be renamed when
recovery_target_action is set
shutdown, any subsequent
start will end with immediate shutdown unless the
configuration is changed or the
recovery.conf file is removed
This setting has no effect if no recovery target is set.
is not enabled, a setting of
pause will act the same as
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.