Home Explore Blog CI



postgresql

2nd chunk of `doc/src/sgml/installation.sgml`
6c14ed2262288c34cd8d43a827dec90dd871b6e73a0d8ab80000000100000fa9
 <application>bzip2</application>.
     </para>
    </listitem>

    <listitem>
     <para>
      <indexterm>
       <primary>flex</primary>
      </indexterm>
      <indexterm>
       <primary>lex</primary>
      </indexterm>
      <indexterm>
       <primary>bison</primary>
      </indexterm>
      <indexterm>
       <primary>yacc</primary>
      </indexterm>

      <application>Flex</application> and <application>Bison</application> are
      required.  Other <application>lex</application> and
      <application>yacc</application> programs cannot be used.
      <application>Bison</application> needs to be at least version 2.3.
     </para>
    </listitem>

    <listitem>
     <para>
      <indexterm>
       <primary>perl</primary>
      </indexterm>

      <application>Perl</application> 5.14 or later is needed during the build
      process and to run some test suites.  (This requirement is separate from
      the requirements for building <application>PL/Perl</application>; see
      below.)
     </para>
    </listitem>

    <listitem>
     <para>
      <indexterm>
       <primary>readline</primary>
      </indexterm>
      <indexterm>
       <primary>libedit</primary>
      </indexterm>

      The <acronym>GNU</acronym> <productname>Readline</productname> library is used by
      default.  It allows <application>psql</application> (the
      PostgreSQL command line SQL interpreter) to remember each
      command you type, and allows you to use arrow keys to recall and
      edit previous commands.  This is very helpful and is strongly
      recommended.  If you don't want to use it then you must specify
      the <option>--without-readline</option> option to
      <filename>configure</filename>. As an alternative, you can often use the
      BSD-licensed <filename>libedit</filename> library, originally
      developed on <productname>NetBSD</productname>. The
      <filename>libedit</filename> library is
      GNU <productname>Readline</productname>-compatible and is used if
      <filename>libreadline</filename> is not found, or if
      <option>--with-libedit-preferred</option> is used as an
      option to <filename>configure</filename>. If you are using a package-based
      Linux distribution, be aware that you need both the
      <literal>readline</literal> and <literal>readline-devel</literal> packages, if
      those are separate in your distribution.
     </para>
    </listitem>

    <listitem>
     <para>
      <indexterm>
       <primary>zlib</primary>
      </indexterm>

      The <productname>zlib</productname> compression library is
      used by default. If you don't want to use it then you must
      specify the <option>--without-zlib</option> option to
      <filename>configure</filename>. Using this option disables
      support for compressed archives in <application>pg_dump</application> and
      <application>pg_restore</application>.
     </para>
    </listitem>

    <listitem>
     <para>
      The ICU library is used by default. If you don't want to use it then you must specify the <option>--without-icu</option> option to <filename>configure</filename>. Using this option disables support for ICU collation features (see <xref linkend="collation"/>).
     </para>
     <para>
      ICU support requires the <productname>ICU4C</productname> package to be
      installed.  The minimum required version of
      <productname>ICU4C</productname> is currently 4.2.
     </para>

     <para>
      By default,
      <productname>pkg-config</productname><indexterm><primary>pkg-config</primary></indexterm>
      will be used to find the required compilation options.  This is
      supported for <productname>ICU4C</productname> version 4.6 and later.
      For older versions, or if <productname>pkg-config</productname> is not
      available, the variables <envar>ICU_CFLAGS</envar> and
      <envar>ICU_LIBS</envar> can be specified to
      <filename>configure</filename>, like in this example:
<programlisting>
./configure

Title: PostgreSQL Installation Requirements
Summary
The installation of PostgreSQL requires various software packages, including flex, bison, perl, GNU readline, zlib, and ICU, with specific version requirements and configuration options available to customize the build process.