Home Explore Blog CI



postgresql

2nd chunk of `doc/src/sgml/config.sgml`
3875144a312501f1d398cdcc446d872d4df62f76a5f64a2b0000000100000fa4
 <literal>'120 ms'</literal> for a time value, and they will be
       converted to whatever the parameter's actual unit is.  Note that the
       value must be written as a string (with quotes) to use this feature.
       The unit name is case-sensitive, and there can be whitespace between
       the numeric value and the unit.

       <itemizedlist>
        <listitem>
         <para>
          Valid memory units are <literal>B</literal> (bytes),
          <literal>kB</literal> (kilobytes),
          <literal>MB</literal> (megabytes), <literal>GB</literal>
          (gigabytes), and <literal>TB</literal> (terabytes).
          The multiplier for memory units is 1024, not 1000.
         </para>
        </listitem>

        <listitem>
         <para>
          Valid time units are
          <literal>us</literal> (microseconds),
          <literal>ms</literal> (milliseconds),
          <literal>s</literal> (seconds), <literal>min</literal> (minutes),
          <literal>h</literal> (hours), and <literal>d</literal> (days).
         </para>
        </listitem>
       </itemizedlist>

       If a fractional value is specified with a unit, it will be rounded
       to a multiple of the next smaller unit if there is one.
       For example, <literal>30.1 GB</literal> will be converted
       to <literal>30822 MB</literal> not <literal>32319628902 B</literal>.
       If the parameter is of integer type, a final rounding to integer
       occurs after any unit conversion.
      </para>
     </listitem>

     <listitem>
      <para>
       <emphasis>Enumerated:</emphasis>
       Enumerated-type parameters are written in the same way as string
       parameters, but are restricted to have one of a limited set of
       values.  The values allowable for such a parameter can be found from
       <structname>pg_settings</structname>.<structfield>enumvals</structfield>.
       Enum parameter values are case-insensitive.
      </para>
     </listitem>
    </itemizedlist>
   </sect2>

   <sect2 id="config-setting-configuration-file">
    <title>Parameter Interaction via the Configuration File</title>

    <para>
     The most fundamental way to set these parameters is to edit the file
     <filename>postgresql.conf</filename><indexterm><primary>postgresql.conf</primary></indexterm>,
     which is normally kept in the data directory.  A default copy is
     installed when the database cluster directory is initialized.
     An example of what this file might look like is:
<programlisting>
# This is a comment
log_connections = all
log_destination = 'syslog'
search_path = '"$user", public'
shared_buffers = 128MB
</programlisting>
     One parameter is specified per line. The equal sign between name and
     value is optional. Whitespace is insignificant (except within a quoted
     parameter value) and blank lines are
     ignored. Hash marks (<literal>#</literal>) designate the remainder
     of the line as a comment.  Parameter values that are not simple
     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>
     Parameters set in this way provide default values for the cluster.
     The settings seen by active sessions will be these values unless they
     are overridden.  The following sections describe ways in which the
     administrator or user can override these defaults.
    </para>

    <para>
     <indexterm>
      <primary>SIGHUP</primary>
     </indexterm>
     The configuration file is reread whenever the main server process
     receives a <systemitem>SIGHUP</systemitem> signal; this signal is most easily
     sent by running <literal>pg_ctl reload</literal> from the command line or by
     calling the SQL function <function>pg_reload_conf()</function>. The main
     server process also propagates this

Title: Parameter Units and Configuration File Interaction
Summary
This section details valid units for numeric parameters, including memory (B, kB, MB, GB, TB) and time (us, ms, s, min, h, d). It also describes how to set parameters in the postgresql.conf file, explaining the file's format, commenting, quoting, and how the file is re-read upon receiving a SIGHUP signal, which can be triggered by 'pg_ctl reload' or the pg_reload_conf() function.