Home Explore Blog CI



postgresql

34th chunk of `doc/src/sgml/config.sgml`
470298b716a1ffaeef798802b357d113f949d5a4c5f5dfca0000000100000fa5
 data.  Possible values are <literal>mmap</literal> (for
        anonymous shared memory allocated using <function>mmap</function>),
        <literal>sysv</literal> (for System V shared memory allocated via
        <function>shmget</function>) and <literal>windows</literal> (for Windows
        shared memory).  Not all values are supported on all platforms; the
        first supported option is the default for that platform.  The use of
        the <literal>sysv</literal> option, which is not the default on any
        platform, is generally discouraged because it typically requires
        non-default kernel settings to allow for large allocations (see <xref
        linkend="sysvipc"/>).
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-dynamic-shared-memory-type" xreflabel="dynamic_shared_memory_type">
      <term><varname>dynamic_shared_memory_type</varname> (<type>enum</type>)
      <indexterm>
       <primary><varname>dynamic_shared_memory_type</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Specifies the dynamic shared memory implementation that the server
        should use.  Possible values are <literal>posix</literal> (for POSIX shared
        memory allocated using <literal>shm_open</literal>), <literal>sysv</literal>
        (for System V shared memory allocated via <literal>shmget</literal>),
        <literal>windows</literal> (for Windows shared memory),
        and <literal>mmap</literal> (to simulate shared memory using
        memory-mapped files stored in the data directory).
        Not all values are supported on all platforms; the first supported
        option is usually the default for that platform.  The use of the
        <literal>mmap</literal> option, which is not the default on any platform,
        is generally discouraged because the operating system may write
        modified pages back to disk repeatedly, increasing system I/O load;
        however, it may be useful for debugging, when the
        <literal>pg_dynshmem</literal> directory is stored on a RAM disk, or when
        other shared memory facilities are not available.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry id="guc-min-dynamic-shared-memory" xreflabel="min_dynamic_shared_memory">
      <term><varname>min_dynamic_shared_memory</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>min_dynamic_shared_memory</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>
        Specifies the amount of memory that should be allocated at server
        startup for use by parallel queries.  When this memory region is
        insufficient or exhausted by concurrent queries, new parallel queries
        try to allocate extra shared memory temporarily from the operating
        system using the method configured with
        <varname>dynamic_shared_memory_type</varname>, which may be slower due
        to memory management overheads.  Memory that is allocated at startup
        with <varname>min_dynamic_shared_memory</varname> is affected by
        the <varname>huge_pages</varname> setting on operating systems where
        that is supported, and may be more likely to benefit from larger pages
        on operating systems where that is managed automatically.
        The default value is <literal>0</literal> (none). This parameter can
        only be set at server start.
       </para>
      </listitem>
     </varlistentry>

     </variablelist>
     </sect2>

     <sect2 id="runtime-config-resource-disk">
     <title>Disk</title>

     <variablelist>
     <varlistentry id="guc-temp-file-limit" xreflabel="temp_file_limit">
      <term><varname>temp_file_limit</varname> (<type>integer</type>)
      <indexterm>
       <primary><varname>temp_file_limit</varname> configuration parameter</primary>
      </indexterm>
      </term>
      <listitem>
       <para>

Title: Configuration Parameters: Dynamic Shared Memory Type and Minimum Allocation
Summary
This section details the `dynamic_shared_memory_type` parameter, which configures the method used for allocating dynamic shared memory. Options include `posix`, `sysv`, `windows`, and `mmap`. The `mmap` option, which uses memory-mapped files, is discouraged due to potential I/O overhead. The `min_dynamic_shared_memory` parameter specifies the amount of shared memory allocated at server startup for parallel queries, which may improve performance and benefit from huge pages. The default is 0, and this parameter can only be set at server start.