~ubuntu-branches/debian/experimental/postgresql-11/experimental

« back to all changes in this revision

Viewing changes to doc/src/sgml/html/install-requirements.html

  • Committer: Package Import Robot
  • Author(s): Christoph Berg
  • Date: 2018-05-22 14:19:08 UTC
  • Revision ID: package-import@ubuntu.com-20180522141908-0oy9ujs1b5vrda74
Tags: upstream-11~beta1
Import upstream version 11~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>16.2. Requirements</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="install-short.html" title="16.1. Short Version" /><link rel="next" href="install-getsource.html" title="16.3. Getting The Source" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">16.2. Requirements</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="install-short.html" title="16.1. Short Version">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="installation.html" title="Chapter 16. Installation from Source Code">Up</a></td><th width="60%" align="center">Chapter 16. Installation from Source Code</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 11beta1 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="install-getsource.html" title="16.3. Getting The Source">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="INSTALL-REQUIREMENTS"><div class="titlepage"><div><div><h2 class="title" style="clear: both">16.2. Requirements</h2></div></div></div><p>
 
3
   In general, a modern Unix-compatible platform should be able to run
 
4
   <span class="productname">PostgreSQL</span>.
 
5
   The platforms that had received specific testing at the
 
6
   time of release are listed in <a class="xref" href="supported-platforms.html" title="16.6. Supported Platforms">Section 16.6</a>
 
7
   below. In the <code class="filename">doc</code> subdirectory of the distribution
 
8
   there are several platform-specific <acronym class="acronym">FAQ</acronym> documents you
 
9
   might wish to consult if you are having trouble.
 
10
  </p><p>
 
11
   The following software packages are required for building
 
12
   <span class="productname">PostgreSQL</span>:
 
13
 
 
14
   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 
15
      <a id="id-1.6.3.5.3.2.1.1.1" class="indexterm"></a>
 
16
 
 
17
      <acronym class="acronym">GNU</acronym> <span class="application">make</span> version 3.80 or newer is required; other
 
18
      <span class="application">make</span> programs or older <acronym class="acronym">GNU</acronym> <span class="application">make</span> versions will <span class="emphasis"><em>not</em></span> work.
 
19
      (<acronym class="acronym">GNU</acronym> <span class="application">make</span> is sometimes installed under
 
20
      the name <code class="filename">gmake</code>.)  To test for <acronym class="acronym">GNU</acronym>
 
21
      <span class="application">make</span> enter:
 
22
</p><pre class="screen">
 
23
<strong class="userinput"><code>make --version</code></strong>
 
24
</pre><p>
 
25
     </p></li><li class="listitem"><p>
 
26
      You need an <acronym class="acronym">ISO</acronym>/<acronym class="acronym">ANSI</acronym> C compiler (at least
 
27
      C89-compliant). Recent
 
28
      versions of <span class="productname">GCC</span> are recommended, but
 
29
      <span class="productname">PostgreSQL</span> is known to build using a wide variety
 
30
      of compilers from different vendors.
 
31
     </p></li><li class="listitem"><p>
 
32
      <span class="application">tar</span> is required to unpack the source
 
33
      distribution, in addition to either
 
34
      <span class="application">gzip</span> or <span class="application">bzip2</span>.
 
35
     </p></li><li class="listitem"><p>
 
36
      <a id="id-1.6.3.5.3.2.4.1.1" class="indexterm"></a>
 
37
      <a id="id-1.6.3.5.3.2.4.1.2" class="indexterm"></a>
 
38
 
 
39
      The <acronym class="acronym">GNU</acronym> <span class="productname">Readline</span> library is used by
 
40
      default.  It allows <span class="application">psql</span> (the
 
41
      PostgreSQL command line SQL interpreter) to remember each
 
42
      command you type, and allows you to use arrow keys to recall and
 
43
      edit previous commands.  This is very helpful and is strongly
 
44
      recommended.  If you don't want to use it then you must specify
 
45
      the <code class="option">--without-readline</code> option to
 
46
      <code class="filename">configure</code>. As an alternative, you can often use the
 
47
      BSD-licensed <code class="filename">libedit</code> library, originally
 
48
      developed on <span class="productname">NetBSD</span>. The
 
49
      <code class="filename">libedit</code> library is
 
50
      GNU <span class="productname">Readline</span>-compatible and is used if
 
51
      <code class="filename">libreadline</code> is not found, or if
 
52
      <code class="option">--with-libedit-preferred</code> is used as an
 
53
      option to <code class="filename">configure</code>. If you are using a package-based
 
54
      Linux distribution, be aware that you need both the
 
55
      <code class="literal">readline</code> and <code class="literal">readline-devel</code> packages, if
 
56
      those are separate in your distribution.
 
57
     </p></li><li class="listitem"><p>
 
58
      <a id="id-1.6.3.5.3.2.5.1.1" class="indexterm"></a>
 
59
 
 
60
      The <span class="productname">zlib</span> compression library is
 
61
      used by default. If you don't want to use it then you must
 
62
      specify the <code class="option">--without-zlib</code> option to
 
63
      <code class="filename">configure</code>. Using this option disables
 
64
      support for compressed archives in <span class="application">pg_dump</span> and
 
65
      <span class="application">pg_restore</span>.
 
66
     </p></li></ul></div><p>
 
67
  </p><p>
 
68
   The following packages are optional.  They are not required in the
 
69
   default configuration, but they are needed when certain build
 
70
   options are enabled, as explained below:
 
71
 
 
72
   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 
73
      To build the server programming language
 
74
      <span class="application">PL/Perl</span> you need a full
 
75
      <span class="productname">Perl</span> installation, including the
 
76
      <code class="filename">libperl</code> library and the header files.
 
77
      The minimum required version is <span class="productname">Perl</span> 5.8.3.
 
78
      Since <span class="application">PL/Perl</span> will be a shared
 
79
      library, the <a id="id-1.6.3.5.4.1.1.1.6" class="indexterm"></a>
 
80
      <code class="filename">libperl</code> library must be a shared library
 
81
      also on most platforms.  This appears to be the default in
 
82
      recent <span class="productname">Perl</span> versions, but it was not
 
83
      in earlier versions, and in any case it is the choice of whomever
 
84
      installed Perl at your site.  <code class="filename">configure</code> will fail
 
85
      if building <span class="application">PL/Perl</span> is selected but it cannot
 
86
      find a shared <code class="filename">libperl</code>.  In that case, you will have
 
87
      to rebuild and install <span class="productname">Perl</span> manually to be
 
88
      able to build <span class="application">PL/Perl</span>.  During the
 
89
      configuration process for <span class="productname">Perl</span>, request a
 
90
      shared library.
 
91
     </p><p>
 
92
      If you intend to make more than incidental use of
 
93
      <span class="application">PL/Perl</span>, you should ensure that the
 
94
      <span class="productname">Perl</span> installation was built with the
 
95
      <code class="literal">usemultiplicity</code> option enabled (<code class="literal">perl -V</code>
 
96
      will show whether this is the case).
 
97
     </p></li><li class="listitem"><p>
 
98
      To build the <span class="application">PL/Python</span> server programming
 
99
      language, you need a <span class="productname">Python</span>
 
100
      installation with the header files and
 
101
      the <span class="application">distutils</span> module.  The minimum
 
102
      required version is <span class="productname">Python</span> 2.4.
 
103
      <span class="productname">Python 3</span> is supported if it's
 
104
      version 3.1 or later; but see
 
105
      <a class="xref" href="plpython-python23.html" title="46.1. Python 2 vs. Python 3">Section 46.1</a>
 
106
      when using Python 3.
 
107
     </p><p>
 
108
      Since <span class="application">PL/Python</span> will be a shared
 
109
      library, the <a id="id-1.6.3.5.4.1.2.2.2" class="indexterm"></a>
 
110
      <code class="filename">libpython</code> library must be a shared library
 
111
      also on most platforms.  This is not the case in a default
 
112
      <span class="productname">Python</span> installation built from source, but a
 
113
      shared library is available in many operating system
 
114
      distributions.  <code class="filename">configure</code> will fail if
 
115
      building <span class="application">PL/Python</span> is selected but it cannot
 
116
      find a shared <code class="filename">libpython</code>.  That might mean that you
 
117
      either have to install additional packages or rebuild (part of) your
 
118
      <span class="productname">Python</span> installation to provide this shared
 
119
      library.  When building from source, run <span class="productname">Python</span>'s
 
120
      configure with the <code class="literal">--enable-shared</code> flag.
 
121
     </p></li><li class="listitem"><p>
 
122
      To build the <span class="application">PL/Tcl</span>
 
123
      procedural language, you of course need a <span class="productname">Tcl</span>
 
124
      installation.  The minimum required version is
 
125
      <span class="productname">Tcl</span> 8.4.
 
126
     </p></li><li class="listitem"><p>
 
127
      To enable Native Language Support (<acronym class="acronym">NLS</acronym>), that
 
128
      is, the ability to display a program's messages in a language
 
129
      other than English, you need an implementation of the
 
130
      <span class="application">Gettext</span> <acronym class="acronym">API</acronym>.  Some operating
 
131
      systems have this built-in (e.g., <span class="systemitem">Linux</span>, <span class="systemitem">NetBSD</span>,
 
132
      <span class="systemitem">Solaris</span>), for other systems you
 
133
      can download an add-on package from <a class="ulink" href="http://www.gnu.org/software/gettext/" target="_top">http://www.gnu.org/software/gettext/</a>.
 
134
      If you are using the <span class="application">Gettext</span> implementation in
 
135
      the <acronym class="acronym">GNU</acronym> C library then you will additionally
 
136
      need the <span class="productname">GNU Gettext</span> package for some
 
137
      utility programs.  For any of the other implementations you will
 
138
      not need it.
 
139
     </p></li><li class="listitem"><p>
 
140
      You need <span class="productname">OpenSSL</span>, if you want to support
 
141
      encrypted client connections. The minimum required version is
 
142
      0.9.8.
 
143
     </p></li><li class="listitem"><p>
 
144
      You need <span class="application">Kerberos</span>, <span class="productname">OpenLDAP</span>,
 
145
      and/or <span class="application">PAM</span>, if you want to support authentication
 
146
      using those services.
 
147
     </p></li><li class="listitem"><p>
 
148
      To build the <span class="productname">PostgreSQL</span> documentation,
 
149
      there is a separate set of requirements; see
 
150
      <a class="xref" href="docguide-toolsets.html" title="J.2. Tool Sets">Section J.2</a>.
 
151
     </p></li></ul></div><p>
 
152
  </p><p>
 
153
   If you are building from a <span class="productname">Git</span> tree instead of
 
154
   using a released source package, or if you want to do server development,
 
155
   you also need the following packages:
 
156
 
 
157
   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
 
158
      <a id="id-1.6.3.5.5.2.1.1.1" class="indexterm"></a>
 
159
      <a id="id-1.6.3.5.5.2.1.1.2" class="indexterm"></a>
 
160
      <a id="id-1.6.3.5.5.2.1.1.3" class="indexterm"></a>
 
161
      <a id="id-1.6.3.5.5.2.1.1.4" class="indexterm"></a>
 
162
 
 
163
      <span class="application">Flex</span> and <span class="application">Bison</span>
 
164
      are needed to build from a Git checkout, or if you changed the actual
 
165
      scanner and parser definition files. If you need them, be sure
 
166
      to get <span class="application">Flex</span> 2.5.31 or later and
 
167
      <span class="application">Bison</span> 1.875 or later. Other <span class="application">lex</span>
 
168
      and <span class="application">yacc</span> programs cannot be used.
 
169
     </p></li><li class="listitem"><p>
 
170
      <a id="id-1.6.3.5.5.2.2.1.1" class="indexterm"></a>
 
171
 
 
172
      <span class="application">Perl</span> 5.8.3 or later is needed to build from a Git checkout,
 
173
      or if you changed the input files for any of the build steps that
 
174
      use Perl scripts.  If building on Windows you will need
 
175
      <span class="application">Perl</span> in any case.  <span class="application">Perl</span> is
 
176
      also required to run some test suites.
 
177
     </p></li></ul></div><p>
 
178
  </p><p>
 
179
   If you need to get a <acronym class="acronym">GNU</acronym> package, you can find
 
180
   it at your local <acronym class="acronym">GNU</acronym> mirror site (see <a class="ulink" href="http://www.gnu.org/order/ftp.html" target="_top">http://www.gnu.org/order/ftp.html</a>
 
181
   for a list) or at <a class="ulink" href="ftp://ftp.gnu.org/gnu/" target="_top">ftp://ftp.gnu.org/gnu/</a>.
 
182
  </p><p>
 
183
   Also check that you have sufficient disk space. You will need about
 
184
   100 MB for the source tree during compilation and about 20 MB for
 
185
   the installation directory. An empty database cluster takes about
 
186
   35 MB; databases take about five times the amount of space that a
 
187
   flat text file with the same data would take. If you are going to
 
188
   run the regression tests you will temporarily need up to an extra
 
189
   150 MB. Use the <code class="command">df</code> command to check free disk
 
190
   space.
 
191
  </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="install-short.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="installation.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="install-getsource.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">16.1. Short Version </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 16.3. Getting The Source</td></tr></table></div></body></html>
 
 
b'\\ No newline at end of file'