]> granicus.if.org Git - postgresql/commitdiff
doc: Refine documentation about recovery command exist status
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 3 Dec 2013 03:31:41 +0000 (22:31 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 3 Dec 2013 03:31:41 +0000 (22:31 -0500)
Add more documentation about how different exit codes and signals are
handled in each case.

Reviewed-by: Peter Geoghegan <pg@heroku.com>
doc/src/sgml/backup.sgml
doc/src/sgml/recovery-config.sgml

index 17129742f286a4db79e66f8e8a067ce65a0d5edc..995933c62ddd893acce3a1aa7b129435481dd457 100644 (file)
@@ -1084,9 +1084,17 @@ restore_command = 'cp /mnt/server/archivedir/%f %p'
 
    <para>
     It is important that the command return nonzero exit status on failure.
-    The command <emphasis>will</> be called requesting files that are not present
-    in the archive; it must return nonzero when so asked.  This is not an
-    error condition.  Not all of the requested files will be WAL segment
+    The command <emphasis>will</> be called requesting files that are not
+    present in the archive; it must return nonzero when so asked.  This is not
+    an error condition.  An exception is that if the command was terminated by
+    a signal (other than <systemitem>SIGTERM</systemitem>, which is used as
+    part of a database server shutdown) or an error by the shell (such as
+    command not found), then recovery will abort and the server will not start
+    up.
+   </para>
+
+   <para>
+    Not all of the requested files will be WAL segment
     files; you should also expect requests for files with a suffix of
     <literal>.backup</> or <literal>.history</>. Also be aware that
     the base name of the <literal>%p</> path will be different from
index c0c543e7a4bada87e95ee21b48bfdee8bd7e6055..9d80256a5568665925b194e4ee737dd4c1ffda8d 100644 (file)
 restore_command = 'cp /mnt/server/archivedir/%f "%p"'
 restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"'  # Windows
 </programlisting>
+        An exception is that if the command was terminated by a signal (other
+        than <systemitem>SIGTERM</systemitem>, which is used as part of a
+        database server shutdown) or an error by the shell (such as command
+        not found), then recovery will abort and the server will not start up.
        </para>
       </listitem>
      </varlistentry>
@@ -106,8 +110,10 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"'  # Windows
         command.
        </para>
        <para>
-        If the command returns a non-zero exit status then a WARNING log
-        message will be written.
+        If the command returns a nonzero exit status then a warning log
+        message will be written.  An exception is that if the command was
+        terminated by a signal or an error by the shell (such as command not
+        found), a fatal error will be raised.
        </para>
       </listitem>
      </varlistentry>
@@ -127,10 +133,11 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"'  # Windows
         last valid restart point, like in <xref linkend="archive-cleanup-command">.
        </para>
        <para>
-        If the command returns a non-zero exit status then a WARNING log
+        If the command returns a nonzero 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.
+        signal or an error by the shell (such as command not found), the
+        database will not proceed with startup.
        </para>
       </listitem>
      </varlistentry>