Doc: improve explanation of when custom GUCs appear in pg_settings.
authorTom Lane <[email protected]>
Sat, 10 Sep 2022 20:42:24 +0000 (16:42 -0400)
committerTom Lane <[email protected]>
Sat, 10 Sep 2022 20:42:24 +0000 (16:42 -0400)
Be more clear about when and how an extension-defined GUC comes to be
visible in pg_settings.  (Move the para to the bottom of the page, too;
whoever thought this point was more important than the para about the
view being updatable had odd priorities IMNSHO.)

Back-patch to v15 where archive modules were added, since that seems
to have made this more of a sore spot than it was before.

Benoit Lobréau, Nathan Bossart

Discussion: https://postgr.es/m/CAPE8EZ7KHaXMHKwT=HOim23tDVKYA1PruRuTfeYdCrYWwPGhag@mail.gmail.com

doc/src/sgml/system-views.sgml

index 44aa70a0316e7843713eed6132e1a6270cb07bae..3f573a4f0897a66178424fabf0189ab0243f4d69 100644 (file)
@@ -3273,11 +3273,6 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
    ways to change these parameters.
   </para>
 
-  <para>
-   This view does not display <link linkend="runtime-config-custom">customized options</link>
-   until the extension module that defines them has been loaded.
-  </para>
-
   <para>
    This 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>
@@ -3291,6 +3286,21 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
    <command>SET</command>.
   </para>
 
+  <para>
+   This view does not
+   display <link linkend="runtime-config-custom">customized options</link>
+   unless the extension module that defines them has been loaded by the
+   backend process executing the query (e.g., via a mention in
+   <xref linkend="guc-shared-preload-libraries"/>,
+   a call to a C function in the extension, or the
+   <link linkend="sql-load"><command>LOAD</command></link> command).
+   For example, since <link linkend="archive-modules">archive modules</link>
+   are normally loaded only by the archiver process not regular sessions,
+   this view will not display any customized options defined by such modules
+   unless special action is taken to load them into the backend process
+   executing the query.
+  </para>
+
  </sect1>
 
  <sect1 id="view-pg-shadow">