| The PostgreSQL 9.0 Reference Manual - Volume 3 - Server Administration Guide
by The PostgreSQL Global Development Group Paperback (6"x9"), 274 pages ISBN 9781906966072 RRP £9.95 ($14.95) Sales of this book support the PostgreSQL project! Get a printed copy>>> |
1.2 Requirements
In general, a modern Unix-compatible platform should be able to run PostgreSQL. The platforms that had received specific testing at the time of release are listed in section 1.7 Supported Platforms below. In the ‘doc’ subdirectory of the distribution there are several platform-specific FAQ documents you might wish to consult if you are having trouble.
The following software packages are required for building PostgreSQL:
-
GNU make is required; other
make programs will not work.
GNU make is often installed under
the name ‘gmake’; this document will always
refer to it by that name. (On some systems
GNU make is the default tool with the name
‘make’.) To test for GNU
make enter:
gmake --version
It is recommended to use version 3.79.1 or later. - You need an ISO/ANSI C compiler (at least C89-compliant). Recent versions of GCC are recommendable, but PostgreSQL is known to build using a wide variety of compilers from different vendors.
- tar is required to unpack the source distribution, in addition to either gzip or bzip2.
-
The GNU Readline library is used by
default. It allows psql (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
--without-readlineoption to ‘configure’. As an alternative, you can often use the BSD-licensed ‘libedit’ library, originally developed on NetBSD. The ‘libedit’ library is GNU Readline-compatible and is used if ‘libreadline’ is not found, or if--with-libedit-preferredis used as an option to ‘configure’. If you are using a package-based GNU/Linux distribution, be aware that you need both thereadlineandreadline-develpackages, if those are separate in your distribution. -
The zlib compression library is
used by default. If you don't want to use it then you must
specify the
--without-zliboption to ‘configure’. Using this option disables support for compressed archives in pg_dump and pg_restore.
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:
-
To build the server programming language
PL/Perl you need a full
Perl installation, including the
‘libperl’ library and the header files.
Since PL/Perl will be a shared
library, the
‘libperl’ library must be a shared library
also on most platforms. This appears to be the default in
recent Perl versions, but it was not
in earlier versions, and in any case it is the choice of whomever
installed Perl at your site.
If you intend to make more than incidental use of
PL/Perl, you should ensure that the
Perl installation was built with the
usemultiplicityoption enabled (perl -Vwill show whether this is the case). If you don't have the shared library but you need one, a message like this will appear during the PostgreSQL build to point out this fact:*** Cannot build PL/Perl because libperl is not a *** shared library. You might have to rebuild your *** Perl installation. Refer to the documentation for *** details.
(If you don't follow the on-screen output you will merely notice that the PL/Perl library object, ‘plperl.so’ or similar, will not be installed.) If you see this, you will have to rebuild and install Perl manually to be able to build PL/Perl. During the configuration process for Perl, request a shared library. -
To build the PL/Python server programming
language, you need a Python
installation with the header files and
the distutils module. The minimum
required version is Python
2.2. Python 3 is supported if it's
version 3.1 or later; but see
Volume 2: Python 2 vs. Python 3
when using Python 3.
Since PL/Python will be a shared
library, the
‘libpython’ library must be a shared library
also on most platforms. This is not the case in a default
Python installation. If after
building and installing PostgreSQL you have a file called
‘plpython.so’ (possibly a different
extension), then everything went well. Otherwise you should
have seen a notice like this flying by:
*** Cannot build PL/Python because libpython is not a *** shared library. You might have to rebuild your *** Python installation. Refer to the documentation *** for details.
That means you have to rebuild (part of) your Python installation to create this shared library. If you have problems, run Python 2.3 or later's configure using the--enable-sharedflag. On some operating systems you don't have to build a shared library, but you will have to convince the PostgreSQL build system of this. Consult the ‘Makefile’ in the ‘src/pl/plpython’ directory for details. - To build the PL/Tcl procedural language, you of course need a Tcl installation. If you are using a pre-8.4 release of Tcl, ensure that it was built without multithreading support.
-
To enable Native Language Support (NLS), that
is, the ability to display a program's messages in a language
other than English, you need an implementation of the
Gettext API. Some operating
systems have this built-in (e.g.,
Linux,NetBSD,Solaris), for other systems you can download an add-on package from http://www.gnu.org/software/gettext/. If you are using the Gettext implementation in the GNU C library then you will additionally need the GNU Gettext package for some utility programs. For any of the other implementations you will not need it. - You need Kerberos, OpenSSL, OpenLDAP, and/or PAM, if you want to support authentication or encryption using those services.
If you are building from a Git tree instead of using a released source package, or if you want to do server development, you also need the following packages:
- GNU Flex and Bison are needed to build from a Git checkout, or if you changed the actual scanner and parser definition files. If you need them, be sure to get Flex 2.5.31 or later and Bison 1.875 or later. Other lex and yacc programs cannot be used.
- Perl 5.8 or later is needed to build from a Git checkout, or if you changed the input files for any of the build steps that use Perl scripts. If building on Windows you will need Perl in any case.
If you need to get a GNU package, you can find it at your local GNU mirror site(2) or at ftp://ftp.gnu.org/gnu/.
Also check that you have sufficient disk space. You will need about
100 MB for the source tree during compilation and about 20 MB for
the installation directory. An empty database cluster takes about
35 MB; databases take about five times the amount of space that a
flat text file with the same data would take. If you are going to
run the regression tests you will temporarily need up to an extra
150 MB. Use the df command to check free disk
space.
| ISBN 9781906966072 | The PostgreSQL 9.0 Reference Manual - Volume 3 - Server Administration Guide | See the print edition |