aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-10-04 12:36:18 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-10-04 12:36:55 -0400
commit1a00c0ef5368bb7b8ddcb3cf279df36577918ac4 (patch)
tree6d3017ad1c31ee414539a78c9ae65e2f0ce180a6 /doc/src
parent76074fcaa04fb5d35e8cf7716587440e3d075d50 (diff)
downloadpostgresql-1a00c0ef5368bb7b8ddcb3cf279df36577918ac4.tar.gz
postgresql-1a00c0ef5368bb7b8ddcb3cf279df36577918ac4.zip
Remove the custom_variable_classes parameter.
This variable provides only marginal error-prevention capability (since it can only check the prefix of a qualified GUC name), and the consensus is that that isn't worth the amount of hassle that maintaining the setting creates for DBAs. So, let's just remove it. With this commit, the system will silently accept a value for any qualified GUC name at all, whether it has anything to do with any known extension or not. (Unqualified names still have to match known built-in settings, though; and you will get a WARNING at extension load time if there's an unrecognized setting with that extension's prefix.) There's still some discussion ongoing about whether to tighten that up and if so how; but if we do come up with a solution, it's not likely to look anything like custom_variable_classes.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/auth-delay.sgml6
-rw-r--r--doc/src/sgml/auto-explain.sgml6
-rw-r--r--doc/src/sgml/config.sgml57
-rw-r--r--doc/src/sgml/pgstatstatements.sgml7
-rw-r--r--doc/src/sgml/plperl.sgml4
-rw-r--r--doc/src/sgml/plpgsql.sgml7
6 files changed, 20 insertions, 67 deletions
diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml
index e377c980cab..91549ffe4f6 100644
--- a/doc/src/sgml/auth-delay.sgml
+++ b/doc/src/sgml/auth-delay.sgml
@@ -42,16 +42,14 @@
</variablelist>
<para>
- In order to set these parameters in your <filename>postgresql.conf</> file,
- you will need to add <literal>auth_delay</> to
- <xref linkend="guc-custom-variable-classes">. Typical usage might be:
+ These parameters must be set in <filename>postgresql.conf</>.
+ Typical usage might be:
</para>
<programlisting>
# postgresql.conf
shared_preload_libraries = 'auth_delay'
-custom_variable_classes = 'auth_delay'
auth_delay.milliseconds = '500'
</programlisting>
</sect2>
diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml
index b16f9064ffc..6a8da566fbb 100644
--- a/doc/src/sgml/auto-explain.sgml
+++ b/doc/src/sgml/auto-explain.sgml
@@ -158,16 +158,14 @@ LOAD 'auto_explain';
</variablelist>
<para>
- In order to set these parameters in your <filename>postgresql.conf</> file,
- you will need to add <literal>auto_explain</> to
- <xref linkend="guc-custom-variable-classes">. Typical usage might be:
+ These parameters must be set in <filename>postgresql.conf</>.
+ Typical usage might be:
</para>
<programlisting>
# postgresql.conf
shared_preload_libraries = 'auto_explain'
-custom_variable_classes = 'auto_explain'
auto_explain.log_min_duration = '3s'
</programlisting>
</sect2>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 3282ab4f203..fbcd455694b 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -5940,58 +5940,25 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
<para>
This feature was designed to allow parameters not normally known to
<productname>PostgreSQL</productname> to be added by add-on modules
- (such as procedural languages). This allows add-on modules to be
+ (such as procedural languages). This allows extension modules to be
configured in the standard ways.
</para>
- <variablelist>
-
- <varlistentry id="guc-custom-variable-classes" xreflabel="custom_variable_classes">
- <term><varname>custom_variable_classes</varname> (<type>string</type>)</term>
- <indexterm>
- <primary><varname>custom_variable_classes</> configuration parameter</primary>
- </indexterm>
- <listitem>
- <para>
- This variable specifies one or several class names to be used for
- custom variables, in the form of a comma-separated list. A custom
- variable is a variable not normally known
- to <productname>PostgreSQL</productname> proper but used by some
- add-on module. Such variables must have names consisting of a class
- name, a dot, and a variable name. <varname>custom_variable_classes</>
- specifies all the class names in use in a particular installation.
- This parameter can only be set in the <filename>postgresql.conf</>
- file or on the server command line.
- </para>
-
- </listitem>
- </varlistentry>
- </variablelist>
-
<para>
- The difficulty with setting custom variables in
- <filename>postgresql.conf</> is that the file must be read before add-on
- modules have been loaded, and so custom variables would ordinarily be
- rejected as unknown. When <varname>custom_variable_classes</> is set,
- the server will accept definitions of arbitrary variables within each
- specified class. These variables will be treated as placeholders and
- will have no function until the module that defines them is loaded. When a
- module for a specific class is loaded, it will add the proper variable
- definitions for its class name, convert any placeholder
- values according to those definitions, and issue warnings for any
- unrecognized placeholders of its class that remain.
+ Custom options have two-part names: an extension name, then a dot, then
+ the parameter name proper, much like qualified names in SQL. An example
+ is <literal>plpgsql.variable_conflict</>.
</para>
<para>
- Here is an example of what <filename>postgresql.conf</> might contain
- when using custom variables:
-
-<programlisting>
-custom_variable_classes = 'plpgsql,plperl'
-plpgsql.variable_conflict = use_variable
-plperl.use_strict = true
-plruby.use_strict = true # generates error: unknown class name
-</programlisting>
+ Because custom options may need to be set in processes that have not
+ loaded the relevant extension module, <productname>PostgreSQL</>
+ will accept a setting for any two-part parameter name. Such variables
+ are treated as placeholders and have no function until the module that
+ defines them is loaded. When an extension module is loaded, it will add
+ its variable definitions, convert any placeholder values according to
+ those definitions, and issue warnings for any unrecognized placeholders
+ that begin with its extension name.
</para>
</sect1>
diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml
index 52268c545d7..5a0230c4286 100644
--- a/doc/src/sgml/pgstatstatements.sgml
+++ b/doc/src/sgml/pgstatstatements.sgml
@@ -275,16 +275,13 @@
</para>
<para>
- In order to set any of these parameters in your
- <filename>postgresql.conf</> file,
- you will need to add <literal>pg_stat_statements</> to
- <xref linkend="guc-custom-variable-classes">. Typical usage might be:
+ These parameters must be set in <filename>postgresql.conf</>.
+ Typical usage might be:
<programlisting>
# postgresql.conf
shared_preload_libraries = 'pg_stat_statements'
-custom_variable_classes = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all
</programlisting>
diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml
index b957757da64..81b6de7adb6 100644
--- a/doc/src/sgml/plperl.sgml
+++ b/doc/src/sgml/plperl.sgml
@@ -1219,10 +1219,6 @@ CREATE TRIGGER test_valid_id_trig
<para>
This section lists configuration parameters that affect <application>PL/Perl</>.
- To set any of these parameters before <application>PL/Perl</> has been loaded,
- it is necessary to have added <quote><literal>plperl</></> to the
- <xref linkend="guc-custom-variable-classes"> list in
- <filename>postgresql.conf</filename>.
</para>
<variablelist>
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml
index 84fb012d1f3..c14c34cd322 100644
--- a/doc/src/sgml/plpgsql.sgml
+++ b/doc/src/sgml/plpgsql.sgml
@@ -4007,11 +4007,8 @@ BEGIN
<literal>use_column</> (where <literal>error</> is the factory default).
This parameter affects subsequent compilations
of statements in <application>PL/pgSQL</> functions, but not statements
- already compiled in the current session. To set the parameter before
- <application>PL/pgSQL</> has been loaded, it is necessary to have added
- <quote><literal>plpgsql</></> to the <xref
- linkend="guc-custom-variable-classes"> list in
- <filename>postgresql.conf</filename>. Because changing this setting
+ already compiled in the current session.
+ Because changing this setting
can cause unexpected changes in the behavior of <application>PL/pgSQL</>
functions, it can only be changed by a superuser.
</para>