# PostgreSQL recovery config file
# -------------------------------
#
-# Edit this file to provide the parameters that PostgreSQL
-# needs to perform an archive recovery of a database.
+# Edit this file to provide the parameters that PostgreSQL needs to
+# perform an archive recovery of a database, or to act as a replication
+# standby.
#
# If "recovery.conf" is present in the PostgreSQL data directory, it is
# read on postmaster startup. After successful recovery, it is renamed
# to "recovery.done" to ensure that we do not accidentally re-enter
-# archive recovery mode.
+# archive recovery or standby mode.
#
# This file consists of lines of the form:
#
-# name = 'value'
-#
-# (The quotes around the value are NOT optional, but the "=" is.)
+# name = value
#
# Comments are introduced with '#'.
#
# The complete list of option names and allowed values can be found
-# in the PostgreSQL documentation. The commented-out settings shown below
-# are example values.
+# in the PostgreSQL documentation.
#
#---------------------------------------------------------------------------
-# REQUIRED PARAMETERS
+# ARCHIVE RECOVERY PARAMETERS
#---------------------------------------------------------------------------
#
# restore_command
# which is replaced by the name of the desired log file, and %p,
# which is replaced by the absolute path to copy the log file to.
#
+# This parameter is *required* for an archive recovery, but optional
+# for streaming replication.
+#
# It is important that the command return nonzero exit status on failure.
# The command *will* be asked for log files that are not present in the
# archive; it must return nonzero when so asked.
# NOTE that the basename of %p will be different from %f; do not
# expect them to be interchangeable.
#
+#restore_command = '' # e.g. 'cp /mnt/server/archivedir/%f %p'
+#
+#
+# archive_cleanup_command
+#
+# specifies an optional shell command to execute at every restartpoint.
+# This can be useful for cleaning up the archive of a standby server.
#
-#restore_command = 'cp /mnt/server/archivedir/%f %p'
+#archive_cleanup_command = ''
#
+# recovery_end_command
+#
+# specifies an optional shell command to execute at completion of recovery.
+# This can be useful for cleaning up after the restore_command.
+#
+#recovery_end_command = ''
#
#---------------------------------------------------------------------------
-# OPTIONAL PARAMETERS
+# RECOVERY TARGET PARAMETERS
#---------------------------------------------------------------------------
#
# By default, recovery will rollforward to the end of the WAL log.
-# If you want to stop rollforward before that point, you
+# If you want to stop rollforward at a specific point, you
# must set a recovery target.
#
-# You may set a recovery target either by transactionId, or
-# by timestamp. Recovery may either include or exclude the
+# You may set a recovery target either by transactionId, by name,
+# or by timestamp. Recovery may either include or exclude the
# transaction(s) with the recovery target value (ie, stop either
# just after or just before the given target, respectively).
#
-#recovery_target_time = '2004-07-14 22:39:00 EST'
#
-#recovery_target_xid = '1100842'
+#recovery_target_name = '' # e.g. 'daily backup 2011-01-26'
+#
+#recovery_target_time = '' # e.g. '2004-07-14 22:39:00 EST'
+#
+#recovery_target_xid = ''
#
-#recovery_target_inclusive = 'true' # 'true' or 'false'
+#recovery_target_inclusive = true
+#
+#
+# Alternatively, you can request stopping as soon as a consistent state
+# is reached, by uncommenting this option.
+#
+#recovery_target = 'immediate'
#
#
# If you want to recover into a timeline other than the "main line" shown in
# pg_control, specify the timeline number here, or write 'latest' to get
# the latest branch for which there's a history file.
#
-#recovery_target_timeline = '33' # number or 'latest'
+#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
+# hot standby is not enabled, or if no recovery target is set.
+#
+#pause_at_recovery_target = true
+#
+#---------------------------------------------------------------------------
+# STANDBY SERVER PARAMETERS
+#---------------------------------------------------------------------------
+#
+# standby_mode
+#
+# When standby_mode is enabled, the PostgreSQL server will work as a
+# standby. It will continuously wait for the additional XLOG records, using
+# restore_command and/or primary_conninfo.
+#
+#standby_mode = off
+#
+# primary_conninfo
+#
+# If set, the PostgreSQL server will try to connect to the primary using this
+# connection string and receive XLOG records continuously.
+#
+#primary_conninfo = '' # e.g. 'host=localhost port=5432'
+#
+# If set, the PostgreSQL server will use the specified replication slot when
+# connecting to the primary via streaming replication to control resource
+# removal on the upstream node. This setting has no effect if primary_conninfo
+# is not set.
+#
+#primary_slotname = ''
+#
+# By default, a standby server keeps restoring XLOG records from the
+# primary indefinitely. If you want to stop the standby mode, finish recovery
+# and open the system in read/write mode, specify path to a trigger file.
+# The server will poll the trigger file path periodically and start as a
+# primary server when it's found.
+#
+#trigger_file = ''
+#
+# By default, a standby server keeps restoring XLOG records from the
+# primary as soon as possible. If you want to explicitly delay the replay of
+# committed transactions from the master, specify a recovery apply delay.
+# For example, if you set this parameter to 5min, the standby will replay
+# each transaction commit only when the system time on the standby is at
+# least five minutes past the commit time reported by the master.
+#
+#min_recovery_apply_delay = 0
+#
+#---------------------------------------------------------------------------
+# HOT STANDBY PARAMETERS
+#---------------------------------------------------------------------------
#
+# Hot Standby related parameters are listed in postgresql.conf
#
#---------------------------------------------------------------------------