|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /proc/self/root/usr/share/doc/postgresql-8.1.9/html/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Requirements</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 8.1.9 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE=" Installation Instructions"
HREF="installation.html"><LINK
REL="PREVIOUS"
TITLE=" Installation Instructions"
HREF="installation.html"><LINK
REL="NEXT"
TITLE="Getting The Source"
HREF="install-getsource.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2007-04-20T04:40:08"></HEAD
><BODY
CLASS="SECT1"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
>PostgreSQL 8.1.9 Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="installation.html"
>Fast Backward</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
>Chapter 14. Installation Instructions</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="top"
><A
HREF="installation.html"
>Fast Forward</A
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="top"
><A
HREF="install-getsource.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="INSTALL-REQUIREMENTS"
>14.2. Requirements</A
></H1
><P
> In general, a modern Unix-compatible platform should be able to run
<SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
>.
The platforms that had received specific testing at the
time of release are listed in <A
HREF="supported-platforms.html"
>Section 14.7</A
>
below. In the <TT
CLASS="FILENAME"
>doc</TT
> subdirectory of the distribution
there are several platform-specific <ACRONYM
CLASS="ACRONYM"
>FAQ</ACRONYM
> documents you
might wish to consult if you are having trouble.
</P
><P
> The following software packages are required for building
<SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
>:
<P
></P
></P><UL
><LI
><P
> <A
NAME="AEN16022"
></A
>
<ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> <SPAN
CLASS="APPLICATION"
>make</SPAN
> is required; other
<SPAN
CLASS="APPLICATION"
>make</SPAN
> programs will <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>not</I
></SPAN
> work.
<ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> <SPAN
CLASS="APPLICATION"
>make</SPAN
> is often installed under
the name <TT
CLASS="FILENAME"
>gmake</TT
>; this document will always
refer to it by that name. (On some systems
<ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> <SPAN
CLASS="APPLICATION"
>make</SPAN
> is the default tool with the name
<TT
CLASS="FILENAME"
>make</TT
>.) To test for <ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
>
<SPAN
CLASS="APPLICATION"
>make</SPAN
> enter
</P><PRE
CLASS="SCREEN"
><KBD
CLASS="USERINPUT"
>gmake --version</KBD
></PRE
><P>
It is recommended to use version 3.76.1 or later.
</P
></LI
><LI
><P
> You need an <ACRONYM
CLASS="ACRONYM"
>ISO</ACRONYM
>/<ACRONYM
CLASS="ACRONYM"
>ANSI</ACRONYM
> C compiler. Recent
versions of <SPAN
CLASS="PRODUCTNAME"
>GCC</SPAN
> are recommendable, but
<SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> is known to build with a wide variety
of compilers from different vendors.
</P
></LI
><LI
><P
> <SPAN
CLASS="APPLICATION"
>tar</SPAN
> is required to unpack the source
distribution in the first place, in addition to either
<SPAN
CLASS="APPLICATION"
>gzip</SPAN
> or <SPAN
CLASS="APPLICATION"
>bzip2</SPAN
>.
</P
></LI
><LI
><P
> <A
NAME="AEN16051"
></A
>
The <ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> <SPAN
CLASS="PRODUCTNAME"
>Readline</SPAN
> library (for
comfortable line editing and command history retrieval) will be
used by default. If you don't want to use it then you must
specify the <TT
CLASS="OPTION"
>--without-readline</TT
> option for
<TT
CLASS="FILENAME"
>configure</TT
>. (On <SPAN
CLASS="PRODUCTNAME"
>NetBSD</SPAN
>,
the <TT
CLASS="FILENAME"
>libedit</TT
> library is
<SPAN
CLASS="PRODUCTNAME"
>Readline</SPAN
>-compatible and is used if
<TT
CLASS="FILENAME"
>libreadline</TT
> is not found.) If you are using
a package-based Linux distribution, be aware that you need both
the <TT
CLASS="LITERAL"
>readline</TT
> and <TT
CLASS="LITERAL"
>readline-devel</TT
> packages,
if those are separate in your distribution.
</P
></LI
><LI
><P
> <A
NAME="AEN16065"
></A
>
The <SPAN
CLASS="PRODUCTNAME"
>zlib</SPAN
> compression library will be
used by default. If you don't want to use it then you must
specify the <TT
CLASS="OPTION"
>--without-zlib</TT
> option for
<TT
CLASS="FILENAME"
>configure</TT
>. Using this option disables
support for compressed archives in <SPAN
CLASS="APPLICATION"
>pg_dump</SPAN
> and
<SPAN
CLASS="APPLICATION"
>pg_restore</SPAN
>.
</P
></LI
><LI
><P
> <A
NAME="AEN16074"
></A
>
Additional software is needed to build
<SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> on <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>.
You can build <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> for
<SPAN
CLASS="PRODUCTNAME"
>NT</SPAN
>-based versions of <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>
(like Windows XP and 2003) using <SPAN
CLASS="PRODUCTNAME"
>MinGW</SPAN
>;
see <TT
CLASS="FILENAME"
>doc/FAQ_MINGW</TT
> for details. You can also build
<SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> using
<SPAN
CLASS="PRODUCTNAME"
>Cygwin</SPAN
>; see <TT
CLASS="FILENAME"
>doc/FAQ_CYGWIN</TT
>.
A <SPAN
CLASS="PRODUCTNAME"
>Cygwin</SPAN
>-based build will work on older
versions of <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>, but if you have a choice,
we recommend the <SPAN
CLASS="PRODUCTNAME"
>MinGW</SPAN
> approach.
While these are the only tool sets recommended for a complete build,
it is possible to build just the C client library
(<SPAN
CLASS="APPLICATION"
>libpq</SPAN
>) and the interactive terminal
(<SPAN
CLASS="APPLICATION"
>psql</SPAN
>) using other <SPAN
CLASS="PRODUCTNAME"
>Windows</SPAN
>
tool sets. For details of that see
<A
HREF="install-win32.html"
>Chapter 15</A
>.
</P
></LI
></UL
><P>
</P
><P
> 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.
<P
></P
></P><UL
><LI
><P
> To build the server programming language
<SPAN
CLASS="APPLICATION"
>PL/Perl</SPAN
> you need a full
<SPAN
CLASS="PRODUCTNAME"
>Perl</SPAN
> installation, including the
<TT
CLASS="FILENAME"
>libperl</TT
> library and the header files.
Since <SPAN
CLASS="APPLICATION"
>PL/Perl</SPAN
> will be a shared
library, the <A
NAME="AEN16102"
></A
>
<TT
CLASS="FILENAME"
>libperl</TT
> library must be a shared library
also on most platforms. This appears to be the default in
recent <SPAN
CLASS="PRODUCTNAME"
>Perl</SPAN
> versions, but it was not
in earlier versions, and in any case it is the choice of whomever
installed Perl at your site.
</P
><P
> If you don't have the shared library but you need one, a message
like this will appear during the build to point out this fact:
</P><PRE
CLASS="SCREEN"
>*** 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.</PRE
><P>
(If you don't follow the on-screen output you will merely notice
that the <SPAN
CLASS="APPLICATION"
>PL/Perl</SPAN
> library object,
<TT
CLASS="FILENAME"
>plperl.so</TT
> or similar, will not be
installed.) If you see this, you will have to rebuild and
install <SPAN
CLASS="PRODUCTNAME"
>Perl</SPAN
> manually to be able to
build <SPAN
CLASS="APPLICATION"
>PL/Perl</SPAN
>. During the
configuration process for <SPAN
CLASS="PRODUCTNAME"
>Perl</SPAN
>,
request a shared library.
</P
></LI
><LI
><P
> To build the <SPAN
CLASS="APPLICATION"
>PL/Python</SPAN
> server programming
language, you need a <SPAN
CLASS="PRODUCTNAME"
>Python</SPAN
>
installation with the header files and the <SPAN
CLASS="APPLICATION"
>distutils</SPAN
> module.
The <SPAN
CLASS="APPLICATION"
>distutils</SPAN
> module is included by default with
<SPAN
CLASS="PRODUCTNAME"
>Python</SPAN
> 1.6 and later; users of
earlier versions of <SPAN
CLASS="PRODUCTNAME"
>Python</SPAN
> will need
to install it.
</P
><P
> Since <SPAN
CLASS="APPLICATION"
>PL/Python</SPAN
> will be a shared
library, the <A
NAME="AEN16123"
></A
>
<TT
CLASS="FILENAME"
>libpython</TT
> library must be a shared library
also on most platforms. This is not the case in a default
<SPAN
CLASS="PRODUCTNAME"
>Python</SPAN
> installation. If after
building and installing you have a file called
<TT
CLASS="FILENAME"
>plpython.so</TT
> (possibly a different
extension), then everything went well. Otherwise you should
have seen a notice like this flying by:
</P><PRE
CLASS="SCREEN"
>*** 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.</PRE
><P>
That means you have to rebuild (part of) your
<SPAN
CLASS="PRODUCTNAME"
>Python</SPAN
> installation to supply this
shared library.
</P
><P
> If you have problems, run <SPAN
CLASS="PRODUCTNAME"
>Python</SPAN
> 2.3 or later's
configure using the <TT
CLASS="LITERAL"
>--enable-shared</TT
> flag. On some
operating systems you don't have to build a shared library, but
you will have to convince the <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> build
system of this. Consult the <TT
CLASS="FILENAME"
>Makefile</TT
> in
the <TT
CLASS="FILENAME"
>src/pl/plpython</TT
> directory for details.
</P
></LI
><LI
><P
> If you want to build the <SPAN
CLASS="APPLICATION"
>PL/Tcl</SPAN
>
procedural language, you of course need a Tcl installation.
</P
></LI
><LI
><P
> To enable Native Language Support (<ACRONYM
CLASS="ACRONYM"
>NLS</ACRONYM
>), that
is, the ability to display a program's messages in a language
other than English, you need an implementation of the
<SPAN
CLASS="APPLICATION"
>Gettext</SPAN
> <ACRONYM
CLASS="ACRONYM"
>API</ACRONYM
>. Some operating
systems have this built-in (e.g., <SPAN
CLASS="SYSTEMITEM"
>Linux</SPAN
>, <SPAN
CLASS="SYSTEMITEM"
>NetBSD</SPAN
>,
<SPAN
CLASS="SYSTEMITEM"
>Solaris</SPAN
>), for other systems you
can download an add-on package from <A
HREF="http://developer.postgresql.org/~petere/bsd-gettext/"
TARGET="_top"
>http://developer.postgresql.org/~petere/bsd-gettext/</A
>.
If you are using the <SPAN
CLASS="APPLICATION"
>Gettext</SPAN
> implementation in
the <ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> C library then you will additionally
need the <SPAN
CLASS="PRODUCTNAME"
>GNU Gettext</SPAN
> package for some
utility programs. For any of the other implementations you will
not need it.
</P
></LI
><LI
><P
> <SPAN
CLASS="APPLICATION"
>Kerberos</SPAN
>, <SPAN
CLASS="PRODUCTNAME"
>OpenSSL</SPAN
>, and/or
<SPAN
CLASS="APPLICATION"
>PAM</SPAN
>, if you want to support authentication or
encryption using these services.
</P
></LI
></UL
><P>
</P
><P
> If you are building from a <ACRONYM
CLASS="ACRONYM"
>CVS</ACRONYM
> tree instead of
using a released source package, or if you want to do development,
you also need the following packages:
<P
></P
></P><UL
><LI
><P
> <A
NAME="AEN16161"
></A
>
<A
NAME="AEN16163"
></A
>
<A
NAME="AEN16165"
></A
>
GNU <SPAN
CLASS="APPLICATION"
>Flex</SPAN
> and <SPAN
CLASS="APPLICATION"
>Bison</SPAN
>
are needed to build a CVS checkout or if you changed the actual
scanner and parser definition files. If you need them, be sure
to get <SPAN
CLASS="APPLICATION"
>Flex</SPAN
> 2.5.4 or later and
<SPAN
CLASS="APPLICATION"
>Bison</SPAN
> 1.875 or later. Other <SPAN
CLASS="APPLICATION"
>yacc</SPAN
>
programs can sometimes be used, but doing so requires extra
effort and is not recommended. Other <SPAN
CLASS="APPLICATION"
>lex</SPAN
>
programs will definitely not work.
</P
></LI
></UL
><P>
</P
><P
> If you need to get a <ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> package, you can find
it at your local <ACRONYM
CLASS="ACRONYM"
>GNU</ACRONYM
> mirror site (see <A
HREF="http://www.gnu.org/order/ftp.html"
TARGET="_top"
>http://www.gnu.org/order/ftp.html</A
>
for a list) or at <A
HREF="ftp://ftp.gnu.org/gnu/"
TARGET="_top"
>ftp://ftp.gnu.org/gnu/</A
>.
</P
><P
> Also check that you have sufficient disk space. You will need about
65 MB for the source tree during compilation and about 15 MB for
the installation directory. An empty database cluster takes about
25 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
90 MB. Use the <TT
CLASS="COMMAND"
>df</TT
> command to check free disk
space.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="install-getsource.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Installation Instructions</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Getting The Source</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>