1 <!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.239 2005/07/03 18:54:27 petere Exp $ -->
3 <chapter id="installation">
4 <title><![%standalone-include[<productname>PostgreSQL</>]]>
5 Installation Instructions</title>
7 <indexterm zone="installation">
8 <primary>installation</primary>
12 This <![%standalone-include;[document]]>
13 <![%standalone-ignore;[chapter]]> describes the installation of
14 <productname>PostgreSQL</productname> from the source code
15 distribution. (If you are installing a pre-packaged distribution,
16 such as an RPM or Debian package, ignore this
17 <![%standalone-include;[document]]>
18 <![%standalone-ignore;[chapter]]>
19 and read the packager's instructions instead.)
22 <sect1 id="install-short">
23 <title>Short Version</title>
32 mkdir /usr/local/pgsql/data
33 chown postgres /usr/local/pgsql/data
35 /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
36 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
37 /usr/local/pgsql/bin/createdb test
38 /usr/local/pgsql/bin/psql test
40 The long version is the rest of this
41 <![%standalone-include;[document.]]>
42 <![%standalone-ignore;[chapter.]]>
47 <sect1 id="install-requirements">
48 <title>Requirements</title>
51 In general, a modern Unix-compatible platform should be able to run
52 <productname>PostgreSQL</>.
53 The platforms that had received specific testing at the
54 time of release are listed in <xref linkend="supported-platforms">
55 below. In the <filename>doc</> subdirectory of the distribution
56 there are several platform-specific <acronym>FAQ</> documents you
57 might wish to consult if you are having trouble.
61 The following software packages are required for building
62 <productname>PostgreSQL</>:
68 <primary>make</primary>
71 <acronym>GNU</> <application>make</> is required; other
72 <application>make</> programs will <emphasis>not</> work.
73 <acronym>GNU</> <application>make</> is often installed under
74 the name <filename>gmake</filename>; this document will always
75 refer to it by that name. (On some systems
76 <acronym>GNU</acronym> <application>make</> is the default tool with the name
77 <filename>make</>.) To test for <acronym>GNU</acronym>
78 <application>make</application> enter
80 <userinput>gmake --version</userinput>
82 It is recommended to use version 3.76.1 or later.
88 You need an <acronym>ISO</>/<acronym>ANSI</> C compiler. Recent
89 versions of <productname>GCC</> are recommendable, but
90 <productname>PostgreSQL</> is known to build with a wide variety
91 of compilers from different vendors.
97 <application>gzip</> is needed to unpack the distribution in the
98 first place.<![%standalone-include;[ If you are reading this, you probably already got
106 <primary>readline</primary>
109 The <acronym>GNU</> <productname>Readline</> library (for
110 comfortable line editing and command history retrieval) will be
111 used by default. If you don't want to use it then you must
112 specify the <option>--without-readline</option> option for
113 <filename>configure</>. (On <productname>NetBSD</productname>,
114 the <filename>libedit</filename> library is
115 <productname>Readline</productname>-compatible and is used if
116 <filename>libreadline</filename> is not found.) If you are using
117 a package-based Linux distribution, be aware that you need both
118 the <literal>readline</> and <literal>readline-devel</> packages,
119 if those are separate in your distribution.
126 <primary>installation</primary>
127 <secondary>on Windows</secondary>
130 Additional software is needed to build
131 <productname>PostgreSQL</productname> on <productname>Windows</>.
132 You can build <productname>PostgreSQL</productname> for
133 <productname>NT</>-based versions of <productname>Windows</>
134 (like Windows XP and 2003) using <productname>MinGW</productname>;
135 see <filename>doc/FAQ_MINGW</> for details. You can also build
136 <productname>PostgreSQL</productname> using
137 <productname>Cygwin</productname>; see <filename>doc/FAQ_CYGWIN</>.
138 A <productname>Cygwin</productname>-based build will work on older
139 versions of <productname>Windows</>, but if you have a choice,
140 we recommend the <productname>MinGW</productname> approach.
141 While these are the only tool sets recommended for a complete build,
142 it is possible to build just the C client library
143 (<application>libpq</application>) and the interactive terminal
144 (<application>psql</application>) using other <productname>Windows</>
145 tool sets. For details of that see
146 <![%standalone-include[the documentation chapter "Client-Only
147 Installation on Windows"]]> <![%standalone-ignore[<xref
148 linkend="install-win32">]]>.
155 The following packages are optional. They are not required in the
156 default configuration, but they are needed when certain build
157 options are enabled, as explained below.
162 To build the server programming language
163 <application>PL/Perl</application> you need a full
164 <productname>Perl</productname> installation, including the
165 <filename>libperl</filename> library and the header files.
166 Since <application>PL/Perl</application> will be a shared
167 library, the <indexterm><primary>libperl</primary></indexterm>
168 <filename>libperl</filename> library must be a shared library
169 also on most platforms. This appears to be the default in
170 recent <productname>Perl</productname> versions, but it was not
171 in earlier versions, and in any case it is the choice of whomever
172 installed Perl at your site.
176 If you don't have the shared library but you need one, a message
177 like this will appear during the build to point out this fact:
179 *** Cannot build PL/Perl because libperl is not a shared library.
180 *** You might have to rebuild your Perl installation. Refer to
181 *** the documentation for details.
183 (If you don't follow the on-screen output you will merely notice
184 that the <application>PL/Perl</application> library object,
185 <filename>plperl.so</filename> or similar, will not be
186 installed.) If you see this, you will have to rebuild and
187 install <productname>Perl</productname> manually to be able to
188 build <application>PL/Perl</application>. During the
189 configuration process for <productname>Perl</productname>,
190 request a shared library.
196 To build the <application>PL/Python</> server programming
197 language, you need a <productname>Python</productname>
198 installation with the header files and the <application>distutils</application> module.
199 The <application>distutils</application> module is included by default with
200 <productname>Python</productname> 1.6 and later; users of
201 earlier versions of <productname>Python</productname> will need
206 Since <application>PL/Python</application> will be a shared
207 library, the <indexterm><primary>libpython</primary></indexterm>
208 <filename>libpython</filename> library must be a shared library
209 also on most platforms. This is not the case in a default
210 <productname>Python</productname> installation. If after
211 building and installing you have a file called
212 <filename>plpython.so</filename> (possibly a different
213 extension), then everything went well. Otherwise you should
214 have seen a notice like this flying by:
216 *** Cannot build PL/Python because libpython is not a shared library.
217 *** You might have to rebuild your Python installation. Refer to
218 *** the documentation for details.
220 That means you have to rebuild (part of) your
221 <productname>Python</productname> installation to supply this
226 If you have problems, run <productname>Python</> 2.3 or later's
227 configure using the <literal>--enable-shared</> flag. On some
228 operating systems you don't have to build a shared library, but
229 you will have to convince the <productname>PostgreSQL</> build
230 system of this. Consult the <filename>Makefile</filename> in
231 the <filename>src/pl/plpython</filename> directory for details.
237 If you want to build the <application>PL/Tcl</application>
238 procedural language, you of course need a Tcl installation.
244 To enable Native Language Support (<acronym>NLS</acronym>), that
245 is, the ability to display a program's messages in a language
246 other than English, you need an implementation of the
247 <application>Gettext</> <acronym>API</acronym>. Some operating
248 systems have this built-in (e.g., <systemitem
249 class="osname">Linux</>, <systemitem class="osname">NetBSD</>,
250 <systemitem class="osname">Solaris</>), for other systems you
251 can download an add-on package from <ulink
252 url="http://developer.postgresql.org/~petere/bsd-gettext/"></ulink>.
253 If you are using the <application>Gettext</> implementation in
254 the <acronym>GNU</acronym> C library then you will additionally
255 need the <productname>GNU Gettext</productname> package for some
256 utility programs. For any of the other implementations you will
263 <application>Kerberos</>, <productname>OpenSSL</>, and/or
264 <application>PAM</>, if you want to support authentication or
265 encryption using these services.
272 If you are building from a <acronym>CVS</acronym> tree instead of
273 using a released source package, or if you want to do development,
274 you also need the following packages:
280 <primary>flex</primary>
283 <primary>bison</primary>
286 <primary>yacc</primary>
289 GNU <application>Flex</> and <application>Bison</>
290 are needed to build a CVS checkout or if you changed the actual
291 scanner and parser definition files. If you need them, be sure
292 to get <application>Flex</> 2.5.4 or later and
293 <application>Bison</> 1.875 or later. Other <application>yacc</>
294 programs can sometimes be used, but doing so requires extra
295 effort and is not recommended. Other <application>lex</>
296 programs will definitely not work.
303 If you need to get a <acronym>GNU</acronym> package, you can find
304 it at your local <acronym>GNU</acronym> mirror site (see <ulink
305 url="http://www.gnu.org/order/ftp.html"></>
306 for a list) or at <ulink
307 url="ftp://ftp.gnu.org/gnu/"></ulink>.
311 Also check that you have sufficient disk space. You will need about
312 65 MB for the source tree during compilation and about 15 MB for
313 the installation directory. An empty database cluster takes about
314 25 MB, databases take about five times the amount of space that a
315 flat text file with the same data would take. If you are going to
316 run the regression tests you will temporarily need up to an extra
317 90 MB. Use the <command>df</command> command to check free disk
322 <![%standalone-ignore;[
323 <sect1 id="install-getsource">
324 <title>Getting The Source</title>
327 The <productname>PostgreSQL</> &version; sources can be obtained by
328 anonymous FTP from <ulink
329 url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz"></ulink>.
330 Other download options can be found on our website:
331 <ulink url="http://www.postgresql.org/download/"></ulink>. After you
332 have obtained the file, unpack it:
334 <userinput>gunzip postgresql-&version;.tar.gz</userinput>
335 <userinput>tar xf postgresql-&version;.tar</userinput>
337 This will create a directory
338 <filename>postgresql-&version;</filename> under the current directory
339 with the <productname>PostgreSQL</> sources.
340 Change into that directory for the rest
341 of the installation procedure.
346 <sect1 id="install-upgrading">
347 <title>If You Are Upgrading</title>
349 <indexterm zone="install-upgrading">
350 <primary>upgrading</primary>
354 The internal data storage format changes with new releases of
355 <productname>PostgreSQL</>. Therefore, if you are upgrading an
356 existing installation that does not have a version number
357 <quote>&majorversion;.x</quote>, you must back up and restore your
358 data as shown here. These instructions assume that your existing
359 installation is under the <filename>/usr/local/pgsql</> directory,
360 and that the data area is in <filename>/usr/local/pgsql/data</>.
361 Substitute your paths appropriately.
367 Make sure that your database is not updated during or after the
368 backup. This does not affect the integrity of the backup, but the
369 changed data would of course not be included. If necessary, edit
370 the permissions in the file
371 <filename>/usr/local/pgsql/data/pg_hba.conf</> (or equivalent) to
372 disallow access from everyone except you.
379 <primary>pg_dumpall</primary>
380 <secondary>use during upgrade</secondary>
383 To back up your database installation, type:
385 <userinput>pg_dumpall > <replaceable>outputfile</></userinput>
387 If you need to preserve OIDs (such as when using them as
388 foreign keys), then use the <option>-o</option> option when running
389 <application>pg_dumpall</>.
393 To make the backup, you can use the <application>pg_dumpall</application>
394 command from the version you are currently running. For best
395 results, however, try to use the <application>pg_dumpall</application>
396 command from <productname>PostgreSQL</productname> &version;,
397 since this version contains bug fixes and improvements over older
398 versions. While this advice might seem idiosyncratic since you
399 haven't installed the new version yet, it is advisable to follow
400 it if you plan to install the new version in parallel with the
401 old version. In that case you can complete the installation
402 normally and transfer the data later. This will also decrease
409 If you are installing the new version at the same location as the
410 old one then shut down the old server, at the latest before you
411 install the new files:
413 <userinput>pg_ctl stop</>
415 On systems that have <productname>PostgreSQL</> started at boot time,
416 there is probably a start-up file that will accomplish the same thing. For
417 example, on a <systemitem class="osname">Red Hat Linux</> system one
420 <userinput>/etc/rc.d/init.d/postgresql stop</userinput>
426 Very old versions might not have <application>pg_ctl</>. If you
427 can't find it or it doesn't work, find out the process ID of the
428 old server, for example by typing
430 <userinput>ps ax | grep postmaster</userinput>
432 and signal it to stop this way:
434 <userinput>kill -INT <replaceable>processID</></userinput>
441 If you are installing in the same place as the old version then
442 it is also a good idea to move the old installation out of the
443 way, in case you have trouble and need to revert to it.
444 Use a command like this:
446 <userinput>mv /usr/local/pgsql /usr/local/pgsql.old</>
453 After you have installed <productname>PostgreSQL</> &version;, create a new database
454 directory and start the new server. Remember that you must execute
455 these commands while logged in to the special database user account
456 (which you already have if you are upgrading).
458 <userinput>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</>
459 <userinput>/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data</>
461 Finally, restore your data with
463 <userinput>/usr/local/pgsql/bin/psql -d postgres -f <replaceable>outputfile</></userinput>
465 using the <emphasis>new</> <application>psql</>.
469 Further discussion appears in
470 <![%standalone-include[the documentation,]]>
471 <![%standalone-ignore[<xref linkend="migration">,]]>
472 which you are encouraged to read in any case.
477 <sect1 id="install-procedure">
478 <title>Installation Procedure</title>
482 <step id="configure">
483 <title>Configuration</>
485 <indexterm zone="configure">
486 <primary>configure</primary>
490 The first step of the installation procedure is to configure the
491 source tree for your system and choose the options you would like.
492 This is done by running the <filename>configure</> script. For a
493 default installation simply enter
495 <userinput>./configure</userinput>
497 This script will run a number of tests to guess values for various
498 system dependent variables and detect some quirks of your
499 operating system, and finally will create several files in the
500 build tree to record what it found. (You can also run
501 <filename>configure</filename> in a directory outside the source
502 tree if you want to keep the build directory separate.)
506 The default configuration will build the server and utilities, as
507 well as all client applications and interfaces that require only a
508 C compiler. All files will be installed under
509 <filename>/usr/local/pgsql</> by default.
513 You can customize the build and installation process by supplying one
514 or more of the following command line options to
515 <filename>configure</filename>:
519 <term><option>--prefix=<replaceable>PREFIX</></option></term>
522 Install all files under the directory <replaceable>PREFIX</>
523 instead of <filename>/usr/local/pgsql</filename>. The actual
524 files will be installed into various subdirectories; no files
525 will ever be installed directly into the
526 <replaceable>PREFIX</> directory.
530 If you have special needs, you can also customize the
531 individual subdirectories with the following options. However,
532 if you leave these with their defaults, the installation will be
533 relocatable, meaning you can move the directory after
534 installation. (The <literal>man</> and <literal>doc</>
535 locations are not affected by this.)
539 For relocatable installs, you might want to use
540 <filename>configure</filename>'s <literal>--disable-rpath</>
541 option. Also, you will need to tell the operating system how
542 to find the shared libraries.
548 <term><option>--exec-prefix=<replaceable>EXEC-PREFIX</></option></term>
551 You can install architecture-dependent files under a
552 different prefix, <replaceable>EXEC-PREFIX</>, than what
553 <replaceable>PREFIX</> was set to. This can be useful to
554 share architecture-independent files between hosts. If you
555 omit this, then <replaceable>EXEC-PREFIX</> is set equal to
556 <replaceable>PREFIX</> and both architecture-dependent and
557 independent files will be installed under the same tree,
558 which is probably what you want.
564 <term><option>--bindir=<replaceable>DIRECTORY</></option></term>
567 Specifies the directory for executable programs. The default
568 is <filename><replaceable>EXEC-PREFIX</>/bin</>, which
569 normally means <filename>/usr/local/pgsql/bin</>.
575 <term><option>--datadir=<replaceable>DIRECTORY</></option></term>
578 Sets the directory for read-only data files used by the
579 installed programs. The default is
580 <filename><replaceable>PREFIX</>/share</>. Note that this has
581 nothing to do with where your database files will be placed.
587 <term><option>--sysconfdir=<replaceable>DIRECTORY</></option></term>
590 The directory for various configuration files,
591 <filename><replaceable>PREFIX</>/etc</> by default.
597 <term><option>--libdir=<replaceable>DIRECTORY</></option></term>
600 The location to install libraries and dynamically loadable
601 modules. The default is
602 <filename><replaceable>EXEC-PREFIX</>/lib</>.
608 <term><option>--includedir=<replaceable>DIRECTORY</></option></term>
611 The directory for installing C and C++ header files. The
612 default is <filename><replaceable>PREFIX</>/include</>.
618 <term><option>--mandir=<replaceable>DIRECTORY</></option></term>
621 The man pages that come with <productname>PostgreSQL</> will be installed under
622 this directory, in their respective
623 <filename>man<replaceable>x</></> subdirectories.
624 The default is <filename><replaceable>PREFIX</>/man</>.
630 <term><option>--with-docdir=<replaceable>DIRECTORY</></option></term>
631 <term><option>--without-docdir</option></term>
634 Documentation files, except <quote>man</> pages, will be
635 installed into this directory. The default is
636 <filename><replaceable>PREFIX</>/doc</>. If the option
637 <option>--without-docdir</option> is specified, the
638 documentation will not be installed by <command>make
639 install</command>. This is intended for packaging scripts
640 that have special methods for installing documentation.
648 Care has been taken to make it possible to install
649 <productname>PostgreSQL</> into shared installation locations
650 (such as <filename>/usr/local/include</filename>) without
651 interfering with the namespace of the rest of the system. First,
652 the string <quote><literal>/postgresql</literal></quote> is
653 automatically appended to <varname>datadir</varname>,
654 <varname>sysconfdir</varname>, and <varname>docdir</varname>,
655 unless the fully expanded directory name already contains the
656 string <quote><literal>postgres</></quote> or
657 <quote><literal>pgsql</></quote>. For example, if you choose
658 <filename>/usr/local</filename> as prefix, the documentation will
659 be installed in <filename>/usr/local/doc/postgresql</filename>,
660 but if the prefix is <filename>/opt/postgres</filename>, then it
661 will be in <filename>/opt/postgres/doc</filename>. The public C
662 header files of the client interfaces are installed into
663 <varname>includedir</varname> and are namespace-clean. The
664 internal header files and the server header files are installed
665 into private directories under <varname>includedir</varname>. See
666 the documentation of each interface for information about how to
667 get at the its header files. Finally, a private subdirectory will
668 also be created, if appropriate, under <varname>libdir</varname>
669 for dynamically loadable modules.
677 <term><option>--with-includes=<replaceable>DIRECTORIES</></option></term>
680 <replaceable>DIRECTORIES</> is a colon-separated list of
681 directories that will be added to the list the compiler
682 searches for header files. If you have optional packages
683 (such as GNU <application>Readline</>) installed in a non-standard
685 you have to use this option and probably also the corresponding
686 <option>--with-libraries</> option.
689 Example: <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>.
695 <term><option>--with-libraries=<replaceable>DIRECTORIES</></option></term>
698 <replaceable>DIRECTORIES</> is a colon-separated list of
699 directories to search for libraries. You will probably have
700 to use this option (and the corresponding
701 <option>--with-includes</> option) if you have packages
702 installed in non-standard locations.
705 Example: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>.
711 <term><option>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></option></term>
714 Enables Native Language Support (<acronym>NLS</acronym>),
715 that is, the ability to display a program's messages in a
716 language other than English.
717 <replaceable>LANGUAGES</replaceable> is a space-separated
718 list of codes of the languages that you want supported, for
719 example <literal>--enable-nls='de fr'</>. (The intersection
720 between your list and the set of actually provided
721 translations will be computed automatically.) If you do not
722 specify a list, then all available translations are
727 To use this option, you will need an implementation of the
728 <application>Gettext</> API; see above.
734 <term><option>--with-pgport=<replaceable>NUMBER</></option></term>
737 Set <replaceable>NUMBER</> as the default port number for
738 server and clients. The default is 5432. The port can always
739 be changed later on, but if you specify it here then both
740 server and clients will have the same default compiled in,
741 which can be very convenient. Usually the only good reason
742 to select a non-default value is if you intend to run multiple
743 <productname>PostgreSQL</> servers on the same machine.
749 <term><option>--with-perl</option></term>
752 Build the <application>PL/Perl</> server-side language.
758 <term><option>--with-python</option></term>
761 Build the <application>PL/Python</> server-side language.
767 <term><option>--with-tcl</option></term>
770 Build the <application>PL/Tcl</> server-side language.
776 <term><option>--with-tclconfig=<replaceable>DIRECTORY</replaceable></option></term>
779 Tcl installs the file <filename>tclConfig.sh</filename>, which
780 contains configuration information needed to build modules
781 interfacing to Tcl. This file is normally found automatically
782 at a well-known location, but if you want to use a different
783 version of Tcl you can specify the directory in which to look
790 <term><option>--with-krb5</option></term>
793 Build with support for Kerberos 5 authentication. On many
794 systems, the Kerberos system is not installed in a location
795 that is searched by default (e.g., <filename>/usr/include</>,
796 <filename>/usr/lib</>), so you must use the options
797 <option>--with-includes</> and <option>--with-libraries</> in
798 addition to this option. <filename>configure</> will check
799 for the required header files and libraries to make sure that
800 your Kerberos installation is sufficient before proceeding.
806 <term><option>--with-krb-srvnam=<replaceable>NAME</></option></term>
809 The default name of the Kerberos service principal.
810 <literal>postgres</literal> is the default. There's usually no
811 reason to change this.
818 <primary>OpenSSL</primary>
819 <seealso>SSL</seealso>
822 <term><option>--with-openssl</option></term>
825 Build with support for <acronym>SSL</> (encrypted)
826 connections. This requires the <productname>OpenSSL</>
827 package to be installed. <filename>configure</> will check
828 for the required header files and libraries to make sure that
829 your <productname>OpenSSL</> installation is sufficient
836 <term><option>--with-pam</option></term>
839 Build with <acronym>PAM</><indexterm><primary>PAM</></>
840 (Pluggable Authentication Modules) support.
846 <term><option>--without-readline</option></term>
849 Prevents use of the <application>Readline</> library. This disables
850 command-line editing and history in
851 <application>psql</application>, so it is not recommended.
857 <term><option>--with-bonjour</option></term>
860 Build with Bonjour support. This requires Bonjour support
861 in your operating system. Recommended on Mac OS X.
867 <term><option>--enable-integer-datetimes</option></term>
870 Use 64-bit integer storage for datetimes and intervals, rather
871 than the default floating-point storage. This reduces the range
872 of representable values but guarantees microsecond precision across
873 the full range (see <xref linkend="datatype-datetime"> for more
874 information). Note also that the integer datetimes code is newer
875 than the floating-point code, and we still find bugs in it from time
882 <term><option>--disable-spinlocks</option></term>
885 Allow the build to succeed even if <productname>PostgreSQL</>
886 has no CPU spinlock support for the platform. The lack of
887 spinlock support will result in poor performance; therefore,
888 this option should only be used if the build aborts and
889 informs you that the platform lacks spinlock support. If this
890 option is required to build <productname>PostgreSQL</> on
891 your platform, please report the problem to the
892 <productname>PostgreSQL</> developers.
898 <term><option>--enable-thread-safety</option></term>
901 Make the client libraries thread-safe. This allows
902 concurrent threads in <application>libpq</application> and
903 <application>ECPG</application> programs to safely control
904 their private connection handles. This option requires adequate
905 threading support in your operating system.
911 <term><option>--without-zlib</option></term>
915 <primary>zlib</primary>
917 Prevents use of the <application>Zlib</> library. This disables
918 support for compressed archives in <application>pg_dump</application>
919 and <application>pg_restore</application>.
920 This option is only intended for those rare systems where this
921 library is not available.
927 <term><option>--enable-debug</option></term>
930 Compiles all programs and libraries with debugging symbols.
931 This means that you can run the programs through a debugger
932 to analyze problems. This enlarges the size of the installed
933 executables considerably, and on non-GCC compilers it usually
934 also disables compiler optimization, causing slowdowns. However,
935 having the symbols available is extremely helpful for dealing
936 with any problems that may arise. Currently, this option is
937 recommended for production installations only if you use GCC.
938 But you should always have it on if you are doing development work
939 or running a beta version.
945 <term><option>--enable-cassert</option></term>
948 Enables <firstterm>assertion</> checks in the server, which test for
949 many <quote>can't happen</> conditions. This is invaluable for
950 code development purposes, but the tests slow things down a little.
951 Also, having the tests turned on won't necessarily enhance the
952 stability of your server! The assertion checks are not categorized
953 for severity, and so what might be a relatively harmless bug will
954 still lead to server restarts if it triggers an assertion
955 failure. Currently, this option is not recommended for
956 production use, but you should have it on for development work
957 or when running a beta version.
963 <term><option>--enable-depend</option></term>
966 Enables automatic dependency tracking. With this option, the
967 makefiles are set up so that all affected object files will
968 be rebuilt when any header file is changed. This is useful
969 if you are doing development work, but is just wasted overhead
970 if you intend only to compile once and install. At present,
971 this option will work only if you use GCC.
980 If you prefer a C compiler different from the one
981 <filename>configure</filename> picks, you can set the
982 environment variable <envar>CC</> to the program of your choice.
983 By default, <filename>configure</filename> will pick
984 <filename>gcc</filename> if available, else the platform's
985 default (usually <filename>cc</>). Similarly, you can override the
986 default compiler flags if needed with the <envar>CFLAGS</envar> variable.
990 You can specify environment variables on the
991 <filename>configure</filename> command line, for example:
993 <userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</>
998 If you are cross-compiling<indexterm><primary>cross
999 compilation</primary></indexterm> (compiling on one architecture
1000 with the intent to run on a different architecture), special care
1001 needs to be taken. First of all, specify the host architecture
1002 (the architecture PostgreSQL will run on) using the option
1003 <option>--host</option>. The variables <envar>CC</>,
1004 <envar>CFLAGS</>, etc. should refer to the build tools for the
1005 host architecture. During the build process, the time-zone
1006 database for PostgreSQL is created and a special tool to do that
1007 is compiled and run during the build process. This tool needs to
1008 be compiled using a native compiler. Specify this compiler using
1009 the variable <envar>CC_FOR_BUILD</envar>. Cross compilation
1010 requires expert knowledge and the support for this process in the
1011 PostgreSQL tree should be considered somewhat experimental.
1016 <title>Build</title>
1019 To start the build, type
1021 <userinput>gmake</userinput>
1023 (Remember to use <acronym>GNU</> <application>make</>.) The build
1024 may take anywhere from 5 minutes to half an hour depending on your
1025 hardware. The last line displayed should be
1027 All of PostgreSQL is successfully made. Ready to install.
1033 <title>Regression Tests</title>
1036 <primary>regression test</primary>
1040 If you want to test the newly built server before you install it,
1041 you can run the regression tests at this point. The regression
1042 tests are a test suite to verify that <productname>PostgreSQL</>
1043 runs on your machine in the way the developers expected it
1046 <userinput>gmake check</userinput>
1048 (This won't work as root; do it as an unprivileged user.)
1049 <![%standalone-include[The file
1050 <filename>src/test/regress/README</> and the
1051 documentation contain]]>
1052 <![%standalone-ignore[<xref linkend="regress"> contains]]>
1053 detailed information about interpreting the test results. You can
1054 repeat this test at any later time by issuing the same command.
1059 <title>Installing The Files</title>
1063 If you are upgrading an existing system and are going to install
1064 the new files over the old ones, be sure to back up
1065 your data and shut down the old server before proceeding, as explained in
1066 <xref linkend="install-upgrading"> above.
1071 To install <productname>PostgreSQL</> enter
1073 <userinput>gmake install</userinput>
1075 This will install files into the directories that were specified
1076 in <xref linkend="configure">. Make sure that you have appropriate
1077 permissions to write into that area. Normally you need to do this
1078 step as root. Alternatively, you could create the target
1079 directories in advance and arrange for appropriate permissions to
1084 You can use <literal>gmake install-strip</literal> instead of
1085 <literal>gmake install</literal> to strip the executable files and
1086 libraries as they are installed. This will save some space. If
1087 you built with debugging support, stripping will effectively
1088 remove the debugging support, so it should only be done if
1089 debugging is no longer needed. <literal>install-strip</literal>
1090 tries to do a reasonable job saving space, but it does not have
1091 perfect knowledge of how to strip every unneeded byte from an
1092 executable file, so if you want to save all the disk space you
1093 possibly can, you will have to do manual work.
1097 The standard installation provides all the header files needed for client
1098 application development as well as for server-side program
1099 development, such as custom functions or data types written in C.
1100 (Prior to <productname>PostgreSQL</> 8.0, a separate <literal>gmake
1101 install-all-headers</> command was needed for the latter, but this
1102 step has been folded into the standard install.)
1106 <title>Client-only installation:</title>
1108 If you want to install only the client applications and
1109 interface libraries, then you can use these commands:
1111 <userinput>gmake -C src/bin install</>
1112 <userinput>gmake -C src/include install</>
1113 <userinput>gmake -C src/interfaces install</>
1114 <userinput>gmake -C doc install</>
1122 <title>Registering <application>eventlog</> on <systemitem
1123 class="osname">Windows</>:</title>
1125 To register a <systemitem class="osname">Windows</> <application>eventlog</>
1126 library with the operating system, issue this command after installation:
1128 <userinput>regsvr32 <replaceable>pgsql_library_directory</>/pgevent.dll</>
1130 This creates registry entries used by the event viewer.
1135 <title>Uninstallation:</title>
1137 To undo the installation use the command <command>gmake
1138 uninstall</>. However, this will not remove any created directories.
1143 <title>Cleaning:</title>
1146 After the installation you can make room by removing the built
1147 files from the source tree with the command <command>gmake
1148 clean</>. This will preserve the files made by the <command>configure</command>
1149 program, so that you can rebuild everything with <command>gmake</>
1150 later on. To reset the source tree to the state in which it was
1151 distributed, use <command>gmake distclean</>. If you are going to
1152 build for several platforms within the same source tree you must do
1153 this and re-configure for each build. (Alternatively, use
1154 a separate build tree for each platform, so that the source tree
1155 remains unmodified.)
1160 If you perform a build and then discover that your <command>configure</>
1161 options were wrong, or if you change anything that <command>configure</>
1162 investigates (for example, software upgrades), then it's a good
1163 idea to do <command>gmake distclean</> before reconfiguring and
1164 rebuilding. Without this, your changes in configuration choices
1165 may not propagate everywhere they need to.
1169 <sect1 id="install-post">
1170 <title>Post-Installation Setup</title>
1173 <title>Shared Libraries</title>
1176 <primary>shared library</primary>
1180 On some systems that have shared libraries (which most systems do)
1181 you need to tell your system how to find the newly installed
1182 shared libraries. The systems on which this is
1183 <emphasis>not</emphasis> necessary include <systemitem
1184 class="osname">BSD/OS</>, <systemitem class="osname">FreeBSD</>,
1185 <systemitem class="osname">HP-UX</>, <systemitem
1186 class="osname">IRIX</>, <systemitem class="osname">Linux</>,
1187 <systemitem class="osname">NetBSD</>, <systemitem
1188 class="osname">OpenBSD</>, <systemitem class="osname">Tru64
1189 UNIX</> (formerly <systemitem class="osname">Digital UNIX</>), and
1190 <systemitem class="osname">Solaris</>.
1194 The method to set the shared library search path varies between
1195 platforms, but the most widely usable method is to set the
1196 environment variable <envar>LD_LIBRARY_PATH</> like so: In Bourne
1197 shells (<command>sh</>, <command>ksh</>, <command>bash</>, <command>zsh</>)
1199 LD_LIBRARY_PATH=/usr/local/pgsql/lib
1200 export LD_LIBRARY_PATH
1202 or in <command>csh</> or <command>tcsh</>
1204 setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
1206 Replace <literal>/usr/local/pgsql/lib</> with whatever you set
1207 <option><literal>--libdir</></> to in <xref linkend="configure">.
1208 You should put these commands into a shell start-up file such as
1209 <filename>/etc/profile</> or <filename>~/.bash_profile</>. Some
1210 good information about the caveats associated with this method can
1212 url="http://www.visi.com/~barr/ldpath.html"></ulink>.
1216 On some systems it might be preferable to set the environment
1217 variable <envar>LD_RUN_PATH</envar> <emphasis>before</emphasis>
1222 On <systemitem class="osname">Cygwin</systemitem>, put the library
1223 directory in the <envar>PATH</envar> or move the
1224 <filename>.dll</filename> files into the <filename>bin</filename>
1229 If in doubt, refer to the manual pages of your system (perhaps
1230 <command>ld.so</command> or <command>rld</command>). If you later
1231 on get a message like
1233 psql: error in loading shared libraries
1234 libpq.so.2.1: cannot open shared object file: No such file or directory
1236 then this step was necessary. Simply take care of it then.
1241 <primary>ldconfig</primary>
1243 If you are on <systemitem class="osname">BSD/OS</>, <systemitem
1244 class="osname">Linux</>, or <systemitem class="osname">SunOS 4</>
1245 and you have root access you can run
1247 /sbin/ldconfig /usr/local/pgsql/lib
1249 (or equivalent directory) after installation to enable the
1250 run-time linker to find the shared libraries faster. Refer to the
1251 manual page of <command>ldconfig</> for more information. On
1252 <systemitem class="osname">FreeBSD</>, <systemitem
1253 class="osname">NetBSD</>, and <systemitem
1254 class="osname">OpenBSD</> the command is
1256 /sbin/ldconfig -m /usr/local/pgsql/lib
1258 instead. Other systems are not known to have an equivalent
1264 <title>Environment Variables</title>
1267 <primary><envar>PATH</envar></primary>
1271 If you installed into <filename>/usr/local/pgsql</> or some other
1272 location that is not searched for programs by default, you should
1273 add <filename>/usr/local/pgsql/bin</> (or whatever you set
1274 <option><literal>--bindir</></> to in <xref linkend="configure">)
1275 into your <envar>PATH</>. Strictly speaking, this is not
1276 necessary, but it will make the use of <productname>PostgreSQL</>
1277 much more convenient.
1281 To do this, add the following to your shell start-up file, such as
1282 <filename>~/.bash_profile</> (or <filename>/etc/profile</>, if you
1283 want it to affect every user):
1285 PATH=/usr/local/pgsql/bin:$PATH
1288 If you are using <command>csh</> or <command>tcsh</>, then use this command:
1290 set path = ( /usr/local/pgsql/bin $path )
1296 <primary><envar>MANPATH</envar></primary>
1298 To enable your system to find the <application>man</>
1299 documentation, you need to add lines like the following to a
1300 shell start-up file unless you installed into a location that is
1301 searched by default.
1303 MANPATH=/usr/local/pgsql/man:$MANPATH
1309 The environment variables <envar>PGHOST</> and <envar>PGPORT</>
1310 specify to client applications the host and port of the database
1311 server, overriding the compiled-in defaults. If you are going to
1312 run client applications remotely then it is convenient if every
1313 user that plans to use the database sets <envar>PGHOST</>. This
1314 is not required, however: the settings can be communicated via command
1315 line options to most client programs.
1321 <![%standalone-include;[
1322 <sect1 id="install-getting-started">
1323 <title>Getting Started</title>
1326 The following is a quick summary of how to get <productname>PostgreSQL</> up and
1327 running once installed. The main documentation contains more information.
1333 Create a user account for the <productname>PostgreSQL</>
1334 server. This is the user the server will run as. For production
1335 use you should create a separate, unprivileged account
1336 (<quote>postgres</> is commonly used). If you do not have root
1337 access or just want to play around, your own user account is
1338 enough, but running the server as root is a security risk and
1341 <userinput>adduser postgres</>
1348 Create a database installation with the <command>initdb</>
1349 command. To run <command>initdb</> you must be logged in to your
1350 <productname>PostgreSQL</> server account. It will not work as
1353 root# <userinput>mkdir /usr/local/pgsql/data</>
1354 root# <userinput>chown postgres /usr/local/pgsql/data</>
1355 root# <userinput>su - postgres</>
1356 postgres$ <userinput>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</>
1361 The <option>-D</> option specifies the location where the data
1362 will be stored. You can use any path you want, it does not have
1363 to be under the installation directory. Just make sure that the
1364 server account can write to the directory (or create it, if it
1365 doesn't already exist) before starting <command>initdb</>, as
1372 The previous step should have told you how to start up the
1373 database server. Do so now. The command should look something
1376 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
1378 This will start the server in the foreground. To put the server
1379 in the background use something like
1381 nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
1382 </dev/null >>server.log 2>&1 </dev/null &
1387 To stop a server running in the background you can type
1389 kill `cat /usr/local/pgsql/data/postmaster.pid`
1394 In order to allow TCP/IP connections (rather than only Unix
1395 domain socket ones) you need to pass the <option>-i</> option to
1396 <filename>postmaster</>.
1404 <userinput>createdb testdb</>
1408 <userinput>psql testdb</>
1410 to connect to that database. At the prompt you can enter SQL
1411 commands and start experimenting.
1417 <sect1 id="install-whatnow">
1418 <title>What Now?</title>
1424 The <productname>PostgreSQL</> distribution contains a
1425 comprehensive documentation set, which you should read sometime.
1426 After installation, the documentation can be accessed by
1427 pointing your browser to
1428 <filename>/usr/local/pgsql/doc/html/index.html</>, unless you
1429 changed the installation directories.
1433 The first few chapters of the main documentation are the Tutorial,
1434 which should be your first reading if you are completely new to
1435 <acronym>SQL</> databases. If you are familiar with database
1436 concepts then you want to proceed with part on server
1437 administration, which contains information about how to set up
1438 the database server, database users, and authentication.
1444 Usually, you will want to modify your computer so that it will
1445 automatically start the database server whenever it boots. Some
1446 suggestions for this are in the documentation.
1452 Run the regression tests against the installed server (using
1453 <command>gmake installcheck</command>). If you didn't run the
1454 tests before installation, you should definitely do it now. This
1455 is also explained in the documentation.
1461 By default, <productname>PostgreSQL</> is configured to run on
1462 minimal hardware. This allows it to start up with almost any
1463 hardware configuration. The default configuration is, however,
1464 not designed for optimum performance. To achieve optimum
1465 performance, several server parameters must be adjusted, the two
1466 most common being <varname>shared_buffers</varname> and
1467 <varname>work_mem</varname>.
1468 Other parameters mentioned in the documentation also affect
1478 <sect1 id="supported-platforms">
1479 <title>Supported Platforms</title>
1482 <productname>PostgreSQL</> has been verified by the developer
1483 community to work on the platforms listed below. A supported
1484 platform generally means that <productname>PostgreSQL</> builds and
1485 installs according to these instructions and that the regression
1486 tests pass. <quote>Build farm</quote> entries refer to builds
1487 reported by the <ulink url="http://www.pgbuildfarm.org/">
1488 PostgreSQL Build Farm</ulink>.
1489 Platform entries that show an older version of
1490 PostgreSQL are those that did not receive explicit testing at the
1491 time of release of version &majorversion; but that we still
1497 If you are having problems with the installation on a supported
1498 platform, please write to <email>pgsql-bugs@postgresql.org</email>
1499 or <email>pgsql-ports@postgresql.org</email>, not to the people
1508 <entry><acronym>OS</acronym></entry>
1509 <entry>Processor</entry>
1510 <entry>Version</entry>
1511 <entry>Reported</entry>
1512 <entry>Remarks</entry>
1517 <entry><systemitem class="osname">AIX</></entry>
1518 <entry><systemitem>PowerPC</></entry>
1519 <entry>8.0.0</entry>
1520 <entry>Travis P (<email>twp@castle.fastmail.fm</email>), 2004-12-12</entry>
1521 <entry>see also <filename>doc/FAQ_AIX</filename></entry>
1524 <entry><systemitem class="osname">AIX</></entry>
1525 <entry><systemitem>RS6000</></entry>
1526 <entry>8.0.0</entry>
1527 <entry>Hans-Jürgen Schönig (<email>hs@cybertec.at</email>), 2004-12-06</entry>
1528 <entry>see also <filename>doc/FAQ_AIX</filename></entry>
1531 <entry><systemitem class="osname">BSD/OS</></entry>
1532 <entry><systemitem>x86</></entry>
1533 <entry>8.0.0</entry>
1534 <entry>Bruce Momjian (<email>pgman@candle.pha.pa.us</email>), 2004-12-07</entry>
1535 <entry>4.3.1</entry>
1538 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1539 <entry><systemitem>Alpha</></entry>
1541 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1545 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1546 <entry><systemitem>AMD64</></entry>
1547 <entry>8.0.0</entry>
1548 <entry>Build farm <systemitem class="systemname">panda</systemitem>, snapshot 2004-12-06 01:20:02</entry>
1549 <entry>sid, kernel 2.6</entry>
1552 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1553 <entry><systemitem>ARM</></entry>
1554 <entry>8.0.0</entry>
1555 <entry>Jim Buttafuoco (<email>jim@contactbda.com</email>), 2005-01-06</entry>
1559 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1560 <entry><systemitem>IA64</></entry>
1562 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1566 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1567 <entry><systemitem>m68k</></entry>
1568 <entry>8.0.0</entry>
1569 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-09</entry>
1573 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1574 <entry><systemitem>MIPS</></entry>
1575 <entry>8.0.0</entry>
1576 <entry>Build farm <systemitem class="systemname">lionfish</systemitem>, snapshot 2004-12-06 11:00:08</entry>
1577 <entry>3.1 (sarge), kernel 2.4</entry>
1580 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1581 <entry><systemitem>PA-RISC</></entry>
1582 <entry>8.0.0</entry>
1583 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-07</entry>
1587 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1588 <entry><systemitem>PowerPC</></entry>
1589 <entry>8.0.0</entry>
1590 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-15</entry>
1594 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1595 <entry><systemitem>S/390</></entry>
1597 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1601 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1602 <entry><systemitem>Sparc</></entry>
1603 <entry>8.0.0</entry>
1604 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-09</entry>
1605 <entry>sid, 32-bit</entry>
1608 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1609 <entry><systemitem>x86</></entry>
1610 <entry>8.0.0</entry>
1611 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2004-12-06</entry>
1612 <entry>3.1 (sarge), kernel 2.6</entry>
1615 <entry><systemitem class="osname">Fedora</></entry>
1616 <entry><systemitem>AMD64</></entry>
1617 <entry>8.0.0</entry>
1618 <entry>John Gray (<email>jgray@azuli.co.uk</email>), 2004-12-12</entry>
1622 <entry><systemitem class="osname">Fedora</></entry>
1623 <entry><systemitem>x86</></entry>
1624 <entry>8.0.0</entry>
1625 <entry>Build farm <systemitem class="systemname">dog</systemitem>, snapshot 2004-12-06 02:06:01</entry>
1629 <entry><systemitem class="osname">FreeBSD</></entry>
1630 <entry><systemitem>Alpha</></entry>
1632 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-10-25</entry>
1636 <entry><systemitem class="osname">FreeBSD</></entry>
1637 <entry><systemitem>x86</></entry>
1638 <entry>8.0.0</entry>
1639 <entry>Build farm <systemitem class="systemname">cockatoo</systemitem>, snapshot 2004-12-06 14:10:01 (4.10);
1640 Marc Fournier (<email>scrappy@postgresql.org</email>), 2004-12-07 (5.3)</entry>
1644 <entry><systemitem class="osname">Gentoo Linux</></entry>
1645 <entry><systemitem>AMD64</></entry>
1646 <entry>8.0.0</entry>
1647 <entry>Jani Averbach (<email>jaa@jaa.iki.fi</email>), 2005-01-13</entry>
1651 <entry><systemitem class="osname">Gentoo Linux</></entry>
1652 <entry><systemitem>x86</></entry>
1653 <entry>8.0.0</entry>
1654 <entry>Paul Bort (<email>pbort@tmwsystems.com</email>), 2004-12-07</entry>
1658 <entry><systemitem class="osname">HP-UX</></entry>
1659 <entry><systemitem>IA64</></entry>
1660 <entry>8.0.0</entry>
1661 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2005-01-06</entry>
1662 <entry>11.23, <command>gcc</> and <command>cc</>; see also <filename>doc/FAQ_HPUX</filename></entry>
1665 <entry><systemitem class="osname">HP-UX</></entry>
1666 <entry><systemitem>PA-RISC</></entry>
1667 <entry>8.0.0</entry>
1668 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2005-01-06</entry>
1669 <entry>10.20 and 11.11, <command>gcc</> and <command>cc</>; see also <filename>doc/FAQ_HPUX</filename></entry>
1672 <entry><systemitem class="osname">IRIX</></entry>
1673 <entry><systemitem>MIPS</></entry>
1675 <entry>Robert E. Bruccoleri (<email>bruc@stone.congenomics.com</email>), 2003-11-12</entry>
1676 <entry>6.5.20, <command>cc</command> only</entry>
1679 <entry><systemitem class="osname">Mac OS X</></entry>
1680 <entry><systemitem>PowerPC</></entry>
1681 <entry>8.0.0</entry>
1682 <entry>Andrew Rawnsley (<email>ronz@ravensfield.com</email>), 2004-12-07</entry>
1683 <entry>10.3.5</entry>
1686 <entry><systemitem class="osname">Mandrakelinux</></entry>
1687 <entry><systemitem>x86</></entry>
1688 <entry>8.0.0</entry>
1689 <entry>Build farm <systemitem class="systemname">shrew</systemitem>, snapshot 2004-12-06 02:02:01</entry>
1693 <entry><systemitem class="osname">NetBSD</></entry>
1694 <entry><systemitem>arm32</></entry>
1696 <entry>Patrick Welche (<email>prlw1@newn.cam.ac.uk</email>), 2003-11-12</entry>
1697 <entry>1.6ZE/acorn32</entry>
1700 <entry><systemitem class="osname">NetBSD</></entry>
1701 <entry><systemitem>m68k</></entry>
1702 <entry>8.0.0</entry>
1703 <entry>Rémi Zara (<email>remi_zara@mac.com</email>), 2004-12-14</entry>
1707 <entry><systemitem class="osname">NetBSD</></entry>
1708 <entry><systemitem>Sparc</></entry>
1709 <entry>7.4.1</entry>
1710 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-11-26</entry>
1711 <entry>1.6.1, 32-bit</entry>
1714 <entry><systemitem class="osname">NetBSD</></entry>
1715 <entry><systemitem>x86</></entry>
1716 <entry>8.0.0</entry>
1717 <entry>Build farm <systemitem class="systemname">canary</systemitem>, snapshot 2004-12-06 03:30:00</entry>
1721 <entry><systemitem class="osname">OpenBSD</></entry>
1722 <entry><systemitem>Sparc</></entry>
1723 <entry>8.0.0</entry>
1724 <entry>Chris Mair (<email>list@1006.org</email>), 2005-01-10</entry>
1728 <entry><systemitem class="osname">OpenBSD</></entry>
1729 <entry><systemitem>Sparc64</></entry>
1730 <entry>8.0.0</entry>
1731 <entry>Build farm <systemitem class="systemname">spoonbill</systemitem>, snapshot 2005-01-06 00:50:05</entry>
1735 <entry><systemitem class="osname">OpenBSD</></entry>
1736 <entry><systemitem>x86</></entry>
1737 <entry>8.0.0</entry>
1738 <entry>Build farm <systemitem class="systemname">emu</systemitem>, snapshot 2004-12-06 11:35:03</entry>
1742 <entry><systemitem class="osname">Red Hat Linux</></entry>
1743 <entry><systemitem>AMD64</></entry>
1744 <entry>8.0.0</entry>
1745 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1746 <entry>RHEL 3AS</entry>
1749 <entry><systemitem class="osname">Red Hat Linux</></entry>
1750 <entry><systemitem>IA64</></entry>
1751 <entry>8.0.0</entry>
1752 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1753 <entry>RHEL 3AS</entry>
1756 <entry><systemitem class="osname">Red Hat Linux</></entry>
1757 <entry><systemitem>PowerPC</></entry>
1758 <entry>8.0.0</entry>
1759 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1760 <entry>RHEL 3AS</entry>
1763 <entry><systemitem class="osname">Red Hat Linux</></entry>
1764 <entry><systemitem>PowerPC 64</></entry>
1765 <entry>8.0.0</entry>
1766 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1767 <entry>RHEL 3AS</entry>
1770 <entry><systemitem class="osname">Red Hat Linux</></entry>
1771 <entry><systemitem>S/390</></entry>
1772 <entry>8.0.0</entry>
1773 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1774 <entry>RHEL 3AS</entry>
1777 <entry><systemitem class="osname">Red Hat Linux</></entry>
1778 <entry><systemitem>S/390x</></entry>
1779 <entry>8.0.0</entry>
1780 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1781 <entry>RHEL 3AS</entry>
1784 <entry><systemitem class="osname">Red Hat Linux</></entry>
1785 <entry><systemitem>x86</></entry>
1786 <entry>8.0.0</entry>
1787 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1788 <entry>RHEL 3AS</entry>
1791 <entry><systemitem class="osname">Solaris</></entry>
1792 <entry><systemitem>Sparc</></entry>
1793 <entry>8.0.0</entry>
1794 <entry>Kenneth Marshall (<email>ktm@is.rice.edu</email>), 2004-12-07</entry>
1795 <entry>Solaris 8; see also <filename>doc/FAQ_Solaris</filename></entry>
1798 <entry><systemitem class="osname">Solaris</></entry>
1799 <entry><systemitem>x86</></entry>
1800 <entry>8.0.0</entry>
1801 <entry>Build farm <systemitem class="systemname">kudu</systemitem>, snapshot 2004-12-10 02:30:04 (<command>cc</command>);
1802 <systemitem class="systemname">dragonfly</systemitem>, snapshot 2004-12-09 04:30:00 (<command>gcc</command>)</entry>
1803 <entry>Solaris 9; see also <filename>doc/FAQ_Solaris</filename></entry>
1806 <entry><systemitem class="osname">SUSE Linux</></entry>
1807 <entry><systemitem>AMD64</></entry>
1808 <entry>8.0.0</entry>
1809 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1810 <entry>9.0, 9.1, 9.2, SLES 9</entry>
1813 <entry><systemitem class="osname">SUSE Linux</></entry>
1814 <entry><systemitem>IA64</></entry>
1815 <entry>8.0.0</entry>
1816 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1817 <entry>SLES 9</entry>
1820 <entry><systemitem class="osname">SUSE Linux</></entry>
1821 <entry><systemitem>PowerPC</></entry>
1822 <entry>8.0.0</entry>
1823 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1824 <entry>SLES 9</entry>
1827 <entry><systemitem class="osname">SUSE Linux</></entry>
1828 <entry><systemitem>PowerPC 64</></entry>
1829 <entry>8.0.0</entry>
1830 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1831 <entry>SLES 9</entry>
1834 <entry><systemitem class="osname">SUSE Linux</></entry>
1835 <entry><systemitem>S/390</></entry>
1836 <entry>8.0.0</entry>
1837 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1838 <entry>SLES 9</entry>
1841 <entry><systemitem class="osname">SUSE Linux</></entry>
1842 <entry><systemitem>S/390x</></entry>
1843 <entry>8.0.0</entry>
1844 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1845 <entry>SLES 9</entry>
1848 <entry><systemitem class="osname">SUSE Linux</></entry>
1849 <entry><systemitem>x86</></entry>
1850 <entry>8.0.0</entry>
1851 <entry>Reinhard Max (<email>max@suse.de</email>), 2005-01-03</entry>
1852 <entry>9.0, 9.1, 9.2, SLES 9</entry>
1855 <entry><systemitem class="osname">Tru64 UNIX</></entry>
1856 <entry><systemitem>Alpha</></entry>
1857 <entry>8.0.0</entry>
1858 <entry>Honda Shigehiro (<email>fwif0083@mb.infoweb.ne.jp</email>), 2005-01-07</entry>
1862 <entry><systemitem class="osname">UnixWare</></entry>
1863 <entry><systemitem>x86</></entry>
1864 <entry>8.0.0</entry>
1865 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2004-12-14</entry>
1866 <entry><command>cc</command>, 7.1.4; see also <filename>doc/FAQ_SCO</filename></entry>
1869 <entry><systemitem class="osname">Windows</></entry>
1870 <entry><systemitem>x86</></entry>
1871 <entry>8.0.0</entry>
1872 <entry>Dave Page (<email>dpage@vale-housing.co.uk</email>), 2004-12-07</entry>
1873 <entry>XP Pro; see <filename>doc/FAQ_MINGW</filename></entry>
1876 <entry><systemitem class="osname">Windows with <application>Cygwin</application></></entry>
1877 <entry><systemitem>x86</></entry>
1878 <entry>8.0.0</entry>
1879 <entry>Build farm <systemitem class="systemname">gibbon</systemitem>, snapshot 2004-12-11 01:33:01</entry>
1880 <entry>see <filename>doc/FAQ_CYGWIN</filename></entry>
1887 <title>Unsupported Platforms:</title>
1889 The following platforms are either known not to work, or they used
1890 to work in a fairly distant previous release. We include these
1891 here to let you know that these platforms <emphasis>could</> be
1892 supported if given some attention.
1900 <entry><acronym>OS</acronym></entry>
1901 <entry>Processor</entry>
1902 <entry>Version</entry>
1903 <entry>Reported</entry>
1904 <entry>Remarks</entry>
1910 <entry><systemitem class="osname">BeOS</></entry>
1911 <entry><systemitem>x86</></entry>
1913 <entry>Cyril Velter (<email>cyril.velter@libertysurf.fr</email>), 2001-11-29</entry>
1914 <entry>needs updates to semaphore code</entry>
1917 <entry><systemitem class="osname">Linux</></entry>
1918 <entry><systemitem>PlayStation 2</></entry>
1919 <entry>8.0.0</entry>
1920 <entry>Chris Mair (<email>list@1006.org</email>), 2005-01-09</entry>
1921 <entry>requires <option>--disable-spinlocks</option> (works, but slow)</entry>
1924 <entry><systemitem class="osname">NetBSD</></entry>
1925 <entry><systemitem>Alpha</></entry>
1927 <entry>Thomas Thai (<email>tom@minnesota.com</email>), 2001-11-20</entry>
1931 <entry><systemitem class="osname">NetBSD</></entry>
1932 <entry><systemitem>MIPS</></entry>
1933 <entry>7.2.1</entry>
1934 <entry>Warwick Hunter (<email>whunter@agile.tv</email>), 2002-06-13</entry>
1935 <entry>1.5.3</entry>
1938 <entry><systemitem class="osname">NetBSD</></entry>
1939 <entry><systemitem>PowerPC</></entry>
1941 <entry>Bill Studenmund (<email>wrstuden@netbsd.org</email>), 2001-11-28</entry>
1945 <entry><systemitem class="osname">NetBSD</></entry>
1946 <entry><systemitem>VAX</></entry>
1948 <entry>Tom I. Helbekkmo (<email>tih@kpnQwest.no</email>), 2001-03-30</entry>
1952 <entry><systemitem class="osname">QNX 4 RTOS</></entry>
1953 <entry><systemitem>x86</></entry>
1955 <entry>Bernd Tegge (<email>tegge@repas-aeg.de</email>), 2001-12-10
1957 <entry>needs updates to semaphore code;
1958 see also <filename>doc/FAQ_QNX4</filename></entry>
1961 <entry><systemitem class="osname">QNX RTOS v6</></entry>
1962 <entry><systemitem>x86</></entry>
1964 <entry>Igor Kovalenko (<email>Igor.Kovalenko@motorola.com</email>), 2001-11-20</entry>
1965 <entry>patches available in archives, but too late for 7.2</entry>
1968 <entry><systemitem class="osname">SCO OpenServer</></entry>
1969 <entry><systemitem>x86</></entry>
1970 <entry>7.3.1</entry>
1971 <entry>Shibashish Satpathy (<email>shib@postmark.net</>), 2002-12-11</entry>
1972 <entry>5.0.4, <command>gcc</>; see also <filename>doc/FAQ_SCO</filename></entry>
1975 <entry><systemitem class="osname">SunOS 4</></entry>
1976 <entry><systemitem>Sparc</></entry>
1978 <entry>Tatsuo Ishii (<email>t-ishii@sra.co.jp</email>), 2001-12-04</entry>
1988 <!-- Keep this comment at the end of the file
1993 sgml-minimize-attributes:nil
1994 sgml-always-quote-attributes:t
1996 sgml-indent-tabs-mode:nil
1998 sgml-parent-document:nil
1999 sgml-default-dtd-file:"./reference.ced"
2000 sgml-exposed-tags:nil
2001 sgml-local-catalogs:("/usr/share/sgml/catalog")
2002 sgml-local-ecat-files:nil