Home Explore Blog CI



postgresql

20th chunk of `doc/src/sgml/installation.sgml`
ddf9b7421637d400aa08fda701b7ed44532d4e08654bcb300000000100000fae
 There's usually no
         reason to change this unless you are building for a Windows
         environment, in which case it must be set to upper case
         <literal>POSTGRES</literal>.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-option-with-segsize">
       <term><option>--with-segsize=<replaceable>SEGSIZE</replaceable></option></term>
       <listitem>
        <para>
         Set the <firstterm>segment size</firstterm>, in gigabytes.  Large tables are
         divided into multiple operating-system files, each of size equal
         to the segment size.  This avoids problems with file size limits
         that exist on many platforms.  The default segment size, 1 gigabyte,
         is safe on all supported platforms.  If your operating system has
         <quote>largefile</quote> support (which most do, nowadays), you can use
         a larger segment size.  This can be helpful to reduce the number of
         file descriptors consumed when working with very large tables.
         But be careful not to select a value larger than is supported
         by your platform and the file systems you intend to use.  Other
         tools you might wish to use, such as <application>tar</application>, could
         also set limits on the usable file size.
         It is recommended, though not absolutely required, that this value
         be a power of 2.
         Note that changing this value breaks on-disk database compatibility,
         meaning you cannot use <command>pg_upgrade</command> to upgrade to
         a build with a different segment size.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-option-with-blocksize">
       <term><option>--with-blocksize=<replaceable>BLOCKSIZE</replaceable></option></term>
       <listitem>
        <para>
         Set the <firstterm>block size</firstterm>, in kilobytes.  This is the unit
         of storage and I/O within tables.  The default, 8 kilobytes,
         is suitable for most situations; but other values may be useful
         in special cases.
         The value must be a power of 2 between 1 and 32 (kilobytes).
         Note that changing this value breaks on-disk database compatibility,
         meaning you cannot use <command>pg_upgrade</command> to upgrade to
         a build with a different block size.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry id="configure-option-with-wal-blocksize">
       <term><option>--with-wal-blocksize=<replaceable>BLOCKSIZE</replaceable></option></term>
       <listitem>
        <para>
         Set the <firstterm>WAL block size</firstterm>, in kilobytes.  This is the unit
         of storage and I/O within the WAL log.  The default, 8 kilobytes,
         is suitable for most situations; but other values may be useful
         in special cases.
         The value must be a power of 2 between 1 and 64 (kilobytes).
         Note that changing this value breaks on-disk database compatibility,
         meaning you cannot use <command>pg_upgrade</command> to upgrade to
         a build with a different WAL block size.
        </para>
       </listitem>
      </varlistentry>

     </variablelist>

   </sect3>

   <sect3 id="configure-options-devel">
    <title>Developer Options</title>

    <para>
     Most of the options in this section are only of interest for
     developing or debugging <productname>PostgreSQL</productname>.
     They are not recommended for production builds, except
     for <option>--enable-debug</option>, which can be useful to enable
     detailed bug reports in the unlucky event that you encounter a bug.
     On platforms supporting DTrace, <option>--enable-dtrace</option>
     may also be reasonable to use in production.
    </para>

    <para>
     When building an installation that will be used to develop code inside
     the server, it is recommended to use at least the
     options <option>--enable-debug</option>

Title: PostgreSQL Advanced Configuration Options
Summary
The configure command for PostgreSQL provides additional options for customizing the build process, including setting segment size, block size, and WAL block size, as well as enabling debug and DTrace support, which are mainly of interest for developing or debugging PostgreSQL, but can also be useful in production environments for detailed bug reporting and troubleshooting.