diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml index cab4b4545e8..feadf2b1d02 100644 --- a/doc/src/sgml/backup.sgml +++ b/doc/src/sgml/backup.sgml @@ -1,4 +1,4 @@ - + Backup and Restore @@ -955,7 +955,7 @@ SELECT pg_stop_backup(); Create a recovery command file recovery.conf in the cluster - data directory (see ). You might + data directory (see ). You might also want to temporarily modify pg_hba.conf to prevent ordinary users from connecting until you are sure the recovery was successful. @@ -1076,162 +1076,6 @@ restore_command = 'cp /mnt/server/archivedir/%f %p' WAL data need not be scanned again. - - - Recovery Settings - - - These settings can only be made in the recovery.conf - file, and apply only for the duration of the recovery. (A sample file, - share/recovery.conf.sample, exists in the installation's - share/ directory.) They must be - reset for any subsequent recovery you wish to perform. They cannot be - changed once recovery has begun. - The parameters for streaming replication are described in . - - - - - - restore_command (string) - - - The shell command to execute to retrieve an archived segment of - the WAL file series. This parameter is required for archive recovery, - but optional for streaming replication. - Any %f in the string is - replaced by the name of the file to retrieve from the archive, - and any %p is replaced by the copy destination path name - on the server. - (The path name is relative to the current working directory, - i.e., the cluster's data directory.) - Any %r is replaced by the name of the file containing the - last valid restart point. That is the earliest file that must be kept - to allow a restore to be restartable, so this information can be used - to truncate the archive to just the minimum required to support - restarting from the current restore. %r is typically only - used by warm-standby configurations - (see ). - Write %% to embed an actual % character. - - - - It is important for the command to return a zero exit status - only if it succeeds. The command will be asked for file - names that are not present in the archive; it must return nonzero - when so asked. Examples: - -restore_command = 'cp /mnt/server/archivedir/%f "%p"' -restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows - - - - - - - recovery_end_command (string) - - - This parameter specifies a shell command that will be executed once only - at the end of recovery. This parameter is optional. The purpose of the - recovery_end_command is to provide a mechanism for cleanup - following replication or recovery. - Any %r is replaced by the name of the file - containing the last valid restart point. That is the earliest file that - must be kept to allow a restore to be restartable, so this information - can be used to truncate the archive to just the minimum required to - support restart from the current restore. %r would - typically be used in a warm-standby configuration - (see ). - Write %% to embed an actual % character - in the command. - - - If the command returns a non-zero exit status then a WARNING log - message will be written and the database will proceed to start up - anyway. An exception is that if the command was terminated by a - signal, the database will not proceed with startup. - - - - - - recovery_target_time - (timestamp) - - - - This parameter specifies the time stamp up to which recovery - will proceed. - At most one of recovery_target_time and - can be specified. - The default is to recover to the end of the WAL log. - The precise stopping point is also influenced by - . - - - - - - recovery_target_xid (string) - - - 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. - At most one of recovery_target_xid and - can be specified. - The default is to recover to the end of the WAL log. - The precise stopping point is also influenced by - . - - - - - - recovery_target_inclusive - (boolean) - - - - Specifies whether we stop just after the specified recovery target - (true), or just before the recovery target - (false). - Applies to both - and , whichever one is - specified for this recovery. This indicates whether transactions - having exactly the target commit time or ID, respectively, will - be included in the recovery. Default is true. - - - - - - recovery_target_timeline - (string) - - - - Specifies recovering into a particular timeline. The default is - to recover along the same timeline that was current when the - base backup was taken. 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 for discussion. - - - - - - - - diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 732c41fb7b3..57f3af2c13d 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -1,4 +1,4 @@ - + @@ -42,6 +42,7 @@ + diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 535321da392..5d7057daa15 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -1,4 +1,4 @@ - + High Availability, Load Balancing, and Replication @@ -853,77 +853,15 @@ if (!triggered) Create a recovery command file recovery.conf in the data - directory on the standby server. + directory on the standby server. Set restore_command + as you would in normal recovery from a continuous archiving backup + (see ). pg_standby or + similar tools that wait for the next WAL file to arrive cannot be used + with streaming replication, as the server handles retries and waiting + itself. Enable standby_mode. Set + primary_conninfo to point to the primary server. - - - standby_mode (boolean) - - - Specifies whether to start the PostgreSQL server as - a standby. If this parameter is on, the server will - not end recovery when the end of archived WAL is reached, but - will keep trying to continue recovery using restore_command - and by connecting to the primary server as specified by the - primary_conninfo setting. - - - - - restore_command (string) - restore_end_command (string) - - - With standby_mode enabled, restore_command - (and restore_end_command) should be set to a - simple command or script like in PITR. pg_standby or similar tools - that wait for the next WAL file to arrive cannot be used with - streaming replication, as the server handles retries and waiting - itself. Set restore_command as you would if you were - recovering using a Continuous archiving backup (see ). - - - - - primary_conninfo (string) - - - Specifies a connection string to be used for the standby server - to connect with the primary. This string is in the same format as - described in . If any option is - unspecified in this string, then the corresponding environment - variable (see ) is checked. If the - environment variable is not set either, then - defaults are used. - - - The built-in replication requires that a host name (or host address) - or port number which the primary server listens on be - specified in this string. Also ensure that a role with - the SUPERUSER and LOGIN privileges on the - primary is set (see - ). Note that - the password needs to be set if the primary demands password - authentication. - - - This setting has no effect if standby_mode is off. - - - - - trigger_file (string) - - - Specifies a trigger file whose presence ends recovery in the - standby. If no trigger file is specified, the standby never exits - recovery. - This setting has no effect if standby_mode is off. - - - - diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index caebed54447..3f2a6e0efc2 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -1,4 +1,4 @@ - + + + + Recovery Configuration + + + configuration + of recovery + of a standby server + + + + This chapter describes the settings available in + recovery.conf file. They apply only for the duration of + the recovery. (A sample file, share/recovery.conf.sample, + exists in the installation's share/ directory.) They must + be reset for any subsequent recovery you wish to perform. They cannot + be changed once recovery has begun. + + + + + Archive recovery settings + + + + restore_command (string) + + + The shell command to execute to retrieve an archived segment of + the WAL file series. This parameter is required for archive recovery, + but optional for streaming replication. + Any %f in the string is + replaced by the name of the file to retrieve from the archive, + and any %p is replaced by the copy destination path name + on the server. + (The path name is relative to the current working directory, + i.e., the cluster's data directory.) + Any %r is replaced by the name of the file containing the + last valid restart point. That is the earliest file that must be kept + to allow a restore to be restartable, so this information can be used + to truncate the archive to just the minimum required to support + restarting from the current restore. %r is typically only + used by warm-standby configurations + (see ). + Write %% to embed an actual % character. + + + + It is important for the command to return a zero exit status + only if it succeeds. The command will be asked for file + names that are not present in the archive; it must return nonzero + when so asked. Examples: + +restore_command = 'cp /mnt/server/archivedir/%f "%p"' +restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows + + + + + + + recovery_end_command (string) + + + This parameter specifies a shell command that will be executed once only + at the end of recovery. This parameter is optional. The purpose of the + recovery_end_command is to provide a mechanism for cleanup + following replication or recovery. + Any %r is replaced by the name of the file + containing the last valid restart point. That is the earliest file that + must be kept to allow a restore to be restartable, so this information + can be used to truncate the archive to just the minimum required to + support restart from the current restore. %r would + typically be used in a warm-standby configuration + (see ). + Write %% to embed an actual % character + in the command. + + + If the command returns a non-zero exit status then a WARNING log + message will be written and the database will proceed to start up + anyway. An exception is that if the command was terminated by a + signal, the database will not proceed with startup. + + + + + + + + + + + Recovery target settings + + + + recovery_target_time + (timestamp) + + + + This parameter specifies the time stamp up to which recovery + will proceed. + At most one of recovery_target_time and + can be specified. + The default is to recover to the end of the WAL log. + The precise stopping point is also influenced by + . + + + + + + recovery_target_xid (string) + + + 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. + At most one of recovery_target_xid and + can be specified. + The default is to recover to the end of the WAL log. + The precise stopping point is also influenced by + . + + + + + + recovery_target_inclusive + (boolean) + + + + Specifies whether we stop just after the specified recovery target + (true), or just before the recovery target + (false). + Applies to both + and , whichever one is + specified for this recovery. This indicates whether transactions + having exactly the target commit time or ID, respectively, will + be included in the recovery. Default is true. + + + + + + recovery_target_timeline + (string) + + + + Specifies recovering into a particular timeline. The default is + to recover along the same timeline that was current when the + base backup was taken. 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 for discussion. + + + + + + + + + + Standby server settings + + + + standby_mode (boolean) + + + Specifies whether to start the PostgreSQL server as + a standby. If this parameter is on, the server will + not end recovery when the end of archived WAL is reached, but + will keep trying to continue recovery using restore_command + and by connecting to the primary server as specified by the + primary_conninfo setting. + + + + + primary_conninfo (string) + + + Specifies a connection string to be used for the standby server + to connect with the primary. This string is in the same format as + described in . If any option is + unspecified in this string, then the corresponding environment + variable (see ) is checked. If the + environment variable is not set either, then + defaults are used. + + + The built-in replication requires that a host name (or host address) + or port number which the primary server listens on be + specified in this string. Also ensure that a role with + the SUPERUSER and LOGIN privileges on the + primary is set (see + ). Note that + the password needs to be set if the primary demands password + authentication. + + + This setting has no effect if standby_mode is off. + + + + + trigger_file (string) + + + Specifies a trigger file whose presence ends recovery in the + standby. If no trigger file is specified, the standby never exits + recovery. + This setting has no effect if standby_mode is off. + + + + + + + +