Doc: improve documentation about postgresql.auto.conf.
authorTom Lane <[email protected]>
Thu, 15 Aug 2019 15:14:26 +0000 (11:14 -0400)
committerTom Lane <[email protected]>
Thu, 15 Aug 2019 15:14:26 +0000 (11:14 -0400)
Clarify what external tools can do to this file, and add a bit
of detail about what ALTER SYSTEM itself does.

Discussion: https://postgr.es/m/aed6cc9f-98f3-2693-ac81-52bb0052307e@2ndquadrant.com

doc/src/sgml/config.sgml

index 1143dada0ab9c31e4a42f0f5982d428d66371267..b24589f5b75ba6c2f145a13e45e41dec7f87f735 100644 (file)
@@ -136,6 +136,8 @@ shared_buffers = 128MB
      identifiers or numbers must be single-quoted.  To embed a single
      quote in a parameter value, write either two quotes (preferred)
      or backslash-quote.
+     If the file contains multiple entries for the same parameter,
+     all but the last one are ignored.
     </para>
 
     <para>
@@ -165,15 +167,26 @@ shared_buffers = 128MB
     </para>
 
     <para>
-     In addition to <filename>postgresql.conf</>,
+     In addition to <filename>postgresql.conf</filename>,
      a <productname>PostgreSQL</productname> data directory contains a file
-     <filename>postgresql.auto.conf</><indexterm><primary>postgresql.auto.conf</></>,
-     which has the same format as <filename>postgresql.conf</> but should
-     never be edited manually.  This file holds settings provided through
-     the <xref linkend="SQL-ALTERSYSTEM"> command.  This file is automatically
-     read whenever <filename>postgresql.conf</> is, and its settings take
-     effect in the same way.  Settings in <filename>postgresql.auto.conf</>
-     override those in <filename>postgresql.conf</>.
+     <filename>postgresql.auto.conf</filename><indexterm><primary>postgresql.auto.conf</primary></indexterm>,
+     which has the same format as <filename>postgresql.conf</filename> but
+     is intended to be edited automatically not manually.  This file holds
+     settings provided through the <xref linkend="SQL-ALTERSYSTEM"> command.
+     This file is read whenever <filename>postgresql.conf</filename> is,
+     and its settings take effect in the same way.  Settings
+     in <filename>postgresql.auto.conf</filename> override those
+     in <filename>postgresql.conf</filename>.
+    </para>
+
+    <para>
+     External tools may also
+     modify <filename>postgresql.auto.conf</filename>.  It is not
+     recommended to do this while the server is running, since a
+     concurrent <command>ALTER SYSTEM</command> command could overwrite
+     such changes.  Such tools might simply append new settings to the end,
+     or they might choose to remove duplicate settings and/or comments
+     (as <command>ALTER SYSTEM</command> will).
     </para>
    </sect2>