diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 217a04e..2fc59af 100644
*** a/doc/src/sgml/catalogs.sgml
--- b/doc/src/sgml/catalogs.sgml
***************
*** 7117,7123 ****
       <row>
        <entry><structfield>context</structfield></entry>
        <entry><type>text</type></entry>
!       <entry>Context required to set the parameter's value</entry>
       </row>
       <row>
        <entry><structfield>vartype</structfield></entry>
--- 7117,7124 ----
       <row>
        <entry><structfield>context</structfield></entry>
        <entry><type>text</type></entry>
!       <entry>Context required to set the parameter's value. See below 
!       for a description of values.</entry>
       </row>
       <row>
        <entry><structfield>vartype</structfield></entry>
***************
*** 7182,7187 ****
--- 7183,7236 ----
    </table>
  
    <para>
+    There are several possible values of <literal>context</literal> in the
+    <structname>pg_settings</structname> view:
+   </para>
+ 
+   <itemizedlist>
+    <listitem>
+     <para><literal>internal</literal>: These settings can only be changed
+     at compile time or at database cluster initialization time by
+     <command>initdb</command>.</para>
+    </listitem>
+    <listitem>
+     <para><literal>postmaster</literal>: Changes to these settings can only be
+     picked up when the server starts. These settings are typically stored
+     in the <filename>postgresql.conf</filename> file, or passed on the command
+     line when starting the postmaster. You may also change settings with a
+     <literal>context</literal> of <literal>sighup</literal>,
+     <literal>backend</literal>, <literal>superuser</literal>, or
+     <literal>user</literal> at server start time.</para>
+    </listitem>
+    <listitem>
+     <para><literal>sighup</literal>: Changes to these settings will be
+     picked up by currently-running and future backends by sending a
+     <systemitem>SIGHUP</systemitem> signal to the postmaster. You may also
+     send a <systemitem>SIGHUP</systemitem> to an individual backend to cause
+     only that backend to reload <filename>postgresql.conf</filename>.</para>
+    </listitem>
+    <listitem>
+     <para><literal>backend</literal>: Changes to these settings will be picked
+     up by future backend servers, but won't impact currently-active
+     sessions.</para>
+    </listitem>
+    <listitem>
+     <para><literal>superuser</literal>: A superuser may change these settings at
+     any time.</para>
+    </listitem>
+    <listitem>
+     <para><literal>user</literal>: Any user may change these settings
+     using <command>SET</command>, but such changes will only be picked up
+     in the user's session.</para>
+    </listitem>
+   </itemizedlist>
+ 
+   <para>
+    See <link linkend="config-setting">Setting Parameters</link> for the
+    different ways to change these parameters.
+   </para>
+ 
+   <para>
     The <structname>pg_settings</structname> view cannot be inserted into or
     deleted from, but it can be updated.  An <command>UPDATE</command> applied
     to a row of <structname>pg_settings</structname> is equivalent to executing
