diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml
index 9a80062..36bf000 100644
--- a/doc/src/sgml/backup.sgml
+++ b/doc/src/sgml/backup.sgml
@@ -49,8 +49,9 @@ pg_dump <replaceable class="parameter">dbname</replaceable> &gt; <replaceable cl
    does not operate with special permissions. In particular, it must
    have read access to all tables that you want to back up. Whether
    it is going to have proper access permissions is determined by
-   privileges granted to a role used to connect to a database.
-   As long as the role has read access to tables, sequences, etc.
+   the privileges granted to the role used to connect to the database server.
+   Although a superuser role will always have the necessary permissions
+   as long as the role used has read access to tables, sequences, etc.
    it need not to be a superuser role.
   </para>
 
@@ -106,22 +107,28 @@ pg_dump <replaceable class="parameter">dbname</replaceable> &gt; <replaceable cl
   </important>
 
   <para>
-   This type of dump can be used to restore a database in full. However,
-   there is a more sophisticated form of <productname>PostgreSQL</> backup
-   that allows for far greater control when working with backups. A syntax looks like this:
+   The above example creates a plain text file.  This type of dump can be used
+   to restore a database in full. However there are more sophisticated
+   <productname>PostgreSQL</> backup formats which allow for far greater
+   control when working with backups.  One of these is
+   the <quote>custom</quote> format, which the following more elaborate
+   example creates:
+
 <synopsis>
 pg_dump -U <replaceable class="parameter">username</replaceable> --format=c --file=<replaceable class="parameter">mydatabase.sqlc</replaceable> <replaceable class="parameter">dbname</replaceable>
 </synopsis>
    The options in detail are:
 <synopsis>
  -U, --username=NAME      connect as specified database user
- -F, --format=c|t|p       output file format (custom, tar, plain text)
+ -F, --format=c|d|t|p     output file format (custom, directory, tar, plain text)
  -f, --file=FILENAME      output file name
 </synopsis>
-   The most important of which is <replaceable class="parameter">--format</replaceable>.
-   By default <application>pg_dump</> uses the plaintext format. In
-   some cases you may be better off using a custom format backup, though.
-   The custom format allows for a wealth of customizability.
+
+   The most interesting of these
+   is <replaceable class="parameter">--format</replaceable>.  By
+   default <application>pg_dump</> creates a plaintext backup.  You may be
+   better off creating a custom format backup, since the custom format is much
+   more flexible.
   </para>
 
   <para>
@@ -131,11 +138,11 @@ pg_dump -U <replaceable class="parameter">username</replaceable> --format=c --fi
 <synopsis>
 pg_restore -U <replaceable class="parameter">username</replaceable> --dbname=<replaceable class="parameter">dbname</replaceable> --index=<replaceable class="parameter">indexname</replaceable>
 </synopsis>
-   If you wanted to restore only a single function:
+   To restore only a single function:
 <synopsis>
 pg_restore -U <replaceable class="parameter">username</replaceable> --dbname=<replaceable class="parameter">dbname</replaceable> --function=<replaceable class="parameter">functionname(args)</replaceable>
 </synopsis>
-   If you wanted to restore only a single table:
+   To restore only a single table:
 <synopsis>
 pg_restore -U <replaceable class="parameter">username</replaceable> --dbname=<replaceable class="parameter">dbname</replaceable> --table=<replaceable class="parameter">tablename</replaceable>
 </synopsis>
@@ -151,8 +158,8 @@ pg_restore -U <replaceable class="parameter">username</replaceable> --dbname=<re
 <synopsis>
 psql <replaceable class="parameter">dbname</replaceable> &lt; <replaceable class="parameter">infile</replaceable>
 </synopsis>
-    where <replaceable class="parameter">infile</replaceable> is the
-    file output by the <application>pg_dump</> command. The database <replaceable
+    where <replaceable class="parameter">infile</replaceable> is a plaintext
+    backup output by the <application>pg_dump</> command. The database <replaceable
     class="parameter">dbname</replaceable> will not be created by this
     command, so you must create it yourself from <literal>template0</>
     before executing <application>psql</> (e.g., with
@@ -215,9 +222,11 @@ pg_dump -h <replaceable>host1</> <replaceable>dbname</> | psql -h <replaceable>h
    </important>
 
    <para>
-    When it comes to restoring a dump with a custom format the command
-    used to restore a backup file is <application>pg_restore</>. It has
-    similar options to <application>pg_dump</>. A simple restore:
+    The <application>psql</> command is a way, as shown above, to restore
+    plaintext backups.  To restore a custom format backup
+    the <application>pg_restore</> command must be used. It has options
+    similar to those of <application>pg_dump</>. A simple use
+    of <application>pg_restore</> is:
 <synopsis>
 pg_restore -U <replaceable class="parameter">username</replaceable> --dbname=<replaceable class="parameter">databasename</replaceable> <replaceable class="parameter">filename</replaceable>
 </synopsis>
@@ -228,21 +237,13 @@ pg_restore -U <replaceable class="parameter">username</replaceable> --dbname=<re
     <para>
      Do not confuse <option>--file</> with <replaceable
      class="parameter">filename</replaceable>. The
-     <option>--file</> option is used to turn a custom format backup
-     into a plaintext backup. The value of <option>--file</> will be
-     used as the output file for that transformation.
+     <option>--file</> option can be used when converting backups from one
+     form to another, the value of <option>--file</> specifying the name of
+     the output file.
     </para>
    </important>
 
    <para>
-    If what you have is a plaintext backup <application>pg_restore</> can
-    not be used as a restoration mechanism. You can use <application>psql</> to restore it:
-<programlisting>
-psql <replaceable class="parameter">dbname</replaceable> &lt; <replaceable class="parameter">backupfile</replaceable>
-</programlisting>
-   </para>
-
-   <para>
     After restoring a backup, it is wise to run <xref
     linkend="sql-analyze"> on each
     database so the query optimizer has useful statistics;
@@ -298,11 +299,11 @@ psql -f <replaceable class="parameter">infile</replaceable> postgres
     look like this:
 <programlisting>
 pg_dumpall -g -Uusername --file=globals.sql;
-psql -AtU postgres -c "SELECT datname FROM pg_database \
-                          WHERE NOT datistemplate"| \
-while read f;
-   do pg_dump -Upostgres --format=c --file=$f.sqlc $f;
-done;
+psql -AtU postgres 
+     -c "SELECT datname FROM pg_database WHERE NOT datistemplate" \
+  | while read f;
+      do pg_dump -Upostgres --format=c --file=$f.sqlc $f;
+    done;
 </programlisting>
    </para>
   </sect2>
@@ -322,9 +323,9 @@ done;
     <title>Use compressed dumps.</title>
     <para>
      You can use your favorite compression program, for example
-     <application>gzip</application> or <application>pigz</application> which 
-     is a parallel implementation of <application>gzip</application> for modern
-     multi-processor, multi-core machines:
+     <application>gzip</application> or <application>pigz</application> 
+     (a parallel implementation of <application>gzip</application> for modern
+     multi-processor, multi-core machines):
 
 <programlisting>
 pg_dump <replaceable class="parameter">dbname</replaceable> | gzip &gt; <replaceable class="parameter">filename</replaceable>.gz
