Home Explore Blog CI



postgresql

3rd chunk of `doc/src/sgml/installation.sgml`
0908d33c9a11a97d8a04054f3979a4ade30290ed57ba203f0000000100000fa0
 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 ... ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata'
</programlisting>
      (If <productname>ICU4C</productname> is in the default search path
      for the compiler, then you still need to specify nonempty strings in
      order to avoid use of <productname>pkg-config</productname>, for
      example, <literal>ICU_CFLAGS=' '</literal>.)
     </para>
    </listitem>
   </itemizedlist>
  </para>

  <para>
   The following packages are optional.  They are not required in the
   default configuration, but they are needed when certain build
   options are enabled, as explained below:

   <itemizedlist>
    <listitem>
     <para>
      To build the server programming language
      <application>PL/Perl</application> you need a full
      <productname>Perl</productname> installation, including the
      <filename>libperl</filename> library and the header files.
      The minimum required version is <productname>Perl</productname> 5.14.
      Since <application>PL/Perl</application> will be a shared
      library, the <indexterm><primary>libperl</primary></indexterm>
      <filename>libperl</filename> library must be a shared library
      also on most platforms.  This appears to be the default in
      recent <productname>Perl</productname> versions, but it was not
      in earlier versions, and in any case it is the choice of whomever
      installed Perl at your site.  <filename>configure</filename> will fail
      if building <application>PL/Perl</application> is selected but it cannot
      find a shared <filename>libperl</filename>.  In that case, you will have
      to rebuild and install <productname>Perl</productname> manually to be
      able to build <application>PL/Perl</application>.  During the
      configuration process for <productname>Perl</productname>, request a
      shared library.
     </para>

     <para>
      If you intend to make more than incidental use of
      <application>PL/Perl</application>, you should ensure that the
      <productname>Perl</productname> installation was built with the
      <literal>usemultiplicity</literal> option enabled (<literal>perl -V</literal>
      will show whether this is the case).
     </para>
    </listitem>

    <listitem>
     <para>
      To build the <application>PL/Python</application> server programming
      language, you need a <productname>Python</productname>
      installation with the header files and
      the <application>sysconfig</application> module.  The minimum
      supported version is <productname>Python</productname> 3.6.8.
     </para>

     <para>
      Since <application>PL/Python</application> will be a shared
      library, the <indexterm><primary>libpython</primary></indexterm>
      <filename>libpython</filename> library must be a shared library
      also on most platforms.  This is not the case in a default
      <productname>Python</productname> installation built from source, but a
      shared library is

Title: Optional Packages for PostgreSQL
Summary
To enable additional features in PostgreSQL, such as the PL/Perl and PL/Python programming languages, optional packages are required, including a full Perl installation and a Python installation with specific version requirements and configuration considerations.