1 <!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.215 2004/12/16 11:23:16 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
18 <sect1 id="install-short">
19 <title>Short Version</title>
28 mkdir /usr/local/pgsql/data
29 chown postgres /usr/local/pgsql/data
31 /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
32 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
33 /usr/local/pgsql/bin/createdb test
34 /usr/local/pgsql/bin/psql test
36 The long version is the rest of this
37 <![%standalone-include;[document.]]>
38 <![%standalone-ignore;[chapter.]]>
43 <sect1 id="install-requirements">
44 <title>Requirements</title>
47 In general, a modern Unix-compatible platform should be able to run
48 <productname>PostgreSQL</>.
49 The platforms that had received specific testing at the
50 time of release are listed in <xref linkend="supported-platforms">
51 below. In the <filename>doc</> subdirectory of the distribution
52 there are several platform-specific <acronym>FAQ</> documents you
53 might wish to consult if you are having trouble.
57 The following software packages are required for building
58 <productname>PostgreSQL</>:
64 <primary>make</primary>
67 <acronym>GNU</> <application>make</> is required; other
68 <application>make</> programs will <emphasis>not</> work.
69 <acronym>GNU</> <application>make</> is often installed under
70 the name <filename>gmake</filename>; this document will always
71 refer to it by that name. (On some systems
72 <acronym>GNU</acronym> <application>make</> is the default tool with the name
73 <filename>make</>.) To test for <acronym>GNU</acronym>
74 <application>make</application> enter
76 <userinput>gmake --version</userinput>
78 It is recommended to use version 3.76.1 or later.
84 You need an <acronym>ISO</>/<acronym>ANSI</> C compiler. Recent
85 versions of <productname>GCC</> are recommendable, but
86 <productname>PostgreSQL</> is known to build with a wide variety
87 of compilers from different vendors.
93 <application>gzip</> is needed to unpack the distribution in the
94 first place.<![%standalone-include;[ If you are reading this, you probably already got
102 <primary>readline</primary>
105 The <acronym>GNU</> <productname>Readline</> library (for
106 comfortable line editing and command history retrieval) will be
107 used by default. If you don't want to use it then you must
108 specify the <option>--without-readline</option> option for
109 <filename>configure</>. (On <productname>NetBSD</productname>,
110 the <filename>libedit</filename> library is
111 <productname>Readline</productname>-compatible and is used if
112 <filename>libreadline</filename> is not found.)
119 <primary>installation</primary>
120 <secondary>on Windows</secondary>
123 To build on <productname>Windows NT</> or <productname>Windows
124 2000</> you need the <productname>Cygwin</> and
125 <productname>cygipc</> packages. See the file
126 <filename>doc/FAQ_MSWIN</> for details.
133 The following packages are optional. They are not required in the
134 default configuration, but they are needed when certain build
135 options are enabled, as explained below.
140 To build the server programming language
141 <application>PL/Perl</application> you need a full
142 <productname>Perl</productname> installation, including the
143 <filename>libperl</filename> library and the header files.
144 Since <application>PL/Perl</application> will be a shared
145 library, the <indexterm><primary>libperl</primary></indexterm>
146 <filename>libperl</filename> library must be a shared library
147 also on most platforms. This appears to be the default in
148 recent <productname>Perl</productname> versions, but it was not
149 in earlier versions, and in general it is the choice of whomever
150 installed Perl at your site.
154 If you don't have the shared library but you need one, a message
155 like this will appear during the build to point out this fact:
157 *** Cannot build PL/Perl because libperl is not a shared library.
158 *** You might have to rebuild your Perl installation. Refer to
159 *** the documentation for details.
161 (If you don't follow the on-screen output you will merely notice
162 that the <application>PL/Perl</application> library object,
163 <filename>plperl.so</filename> or similar, will not be
164 installed.) If you see this, you will have to rebuild and
165 install <productname>Perl</productname> manually to be able to
166 build <application>PL/Perl</application>. During the
167 configuration process for <productname>Perl</productname>,
168 request a shared library.
174 To build the <application>PL/Python</> server programming
175 language, you need a <productname>Python</productname>
176 installation with the header files and the <application>distutils</application> module.
177 The <application>distutils</application> module is included by default with
178 <productname>Python</productname> 1.6 and later; users of
179 earlier versions of <productname>Python</productname> will need
184 Since <application>PL/Python</application> will be a shared
185 library, the <indexterm><primary>libpython</primary></indexterm>
186 <filename>libpython</filename> library must be a shared library
187 also on most platforms. This is not the case in a default
188 <productname>Python</productname> installation. If after
189 building and installing you have a file called
190 <filename>plpython.so</filename> (possibly a different
191 extension), then everything went well. Otherwise you should
192 have seen a notice like this flying by:
194 *** Cannot build PL/Python because libpython is not a shared library.
195 *** You might have to rebuild your Python installation. Refer to
196 *** the documentation for details.
198 That means you have to rebuild (part of) your
199 <productname>Python</productname> installation to supply this
204 If you have problems, run <productname>Python</> 2.3 or later's
205 configure using the <literal>--enable-shared</> flag. On some
206 operating systems you don't have to build a shared library, but
207 you will have to convince the <productname>PostgreSQL</> build
208 system of this. Consult the <filename>Makefile</filename> in
209 the <filename>src/pl/plpython</filename> directory for details.
215 If you want to build the <application>PL/Tcl</application>
216 procedural language, you of course need a Tcl installation.
222 To enable Native Language Support (<acronym>NLS</acronym>), that
223 is, the ability to display a program's messages in a language
224 other than English, you need an implementation of the
225 <application>Gettext</> <acronym>API</acronym>. Some operating
226 systems have this built-in (e.g., <systemitem
227 class="osname">Linux</>, <systemitem class="osname">NetBSD</>,
228 <systemitem class="osname">Solaris</>), for other systems you
229 can download an add-on package from here: <ulink
230 url="http://developer.postgresql.org/~petere/bsd-gettext/" ></ulink>.
231 If you are using the <application>Gettext</> implementation in
232 the <acronym>GNU</acronym> C library then you will additionally
233 need the <productname>GNU Gettext</productname> package for some
234 utility programs. For any of the other implementations you will
241 <application>Kerberos</>, <productname>OpenSSL</>, or <application>PAM</>,
242 if you want to support authentication using these services.
249 If you are building from a <acronym>CVS</acronym> tree instead of
250 using a released source package, or if you want to do development,
251 you also need the following packages:
257 <primary>flex</primary>
260 <primary>bison</primary>
263 <primary>yacc</primary>
266 <application>Flex</> and <application>Bison</>
267 are needed to build a CVS checkout or if you changed the actual
268 scanner and parser definition files. If you need them, be sure
269 to get <application>Flex</> 2.5.4 or later and
270 <application>Bison</> 1.875 or later. Other <application>yacc</>
271 programs can sometimes be used, but doing so requires extra
272 effort and is not recommended. Other <application>lex</>
273 programs will definitely not work.
280 If you need to get a <acronym>GNU</acronym> package, you can find
281 it at your local <acronym>GNU</acronym> mirror site (see <ulink
282 url="http://www.gnu.org/order/ftp.html"></>
283 for a list) or at <ulink
284 url="ftp://ftp.gnu.org/gnu/"></ulink>.
288 Also check that you have sufficient disk space. You will need about
289 65 MB for the source tree during compilation and about 15 MB for
290 the installation directory. An empty database cluster takes about
291 25 MB, databases take about five times the amount of space that a
292 flat text file with the same data would take. If you are going to
293 run the regression tests you will temporarily need up to an extra
294 90 MB. Use the <command>df</command> command to check for disk
299 <![%standalone-ignore;[
300 <sect1 id="install-getsource">
301 <title>Getting The Source</title>
304 The <productname>PostgreSQL</> &version; sources can be obtained by
305 anonymous FTP from <ulink
306 url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz"></ulink>.
307 Use a mirror if possible. After you have obtained the file, unpack it:
309 <userinput>gunzip postgresql-&version;.tar.gz</userinput>
310 <userinput>tar xf postgresql-&version;.tar</userinput>
312 This will create a directory
313 <filename>postgresql-&version;</filename> under the current directory
314 with the <productname>PostgreSQL</> sources.
315 Change into that directory for the rest
316 of the installation procedure.
321 <sect1 id="install-upgrading">
322 <title>If You Are Upgrading</title>
324 <indexterm zone="install-upgrading">
325 <primary>upgrading</primary>
329 The internal data storage format changes with new releases of
330 <productname>PostgreSQL</>. Therefore, if you are upgrading an
331 existing installation that does not have a version number
332 <quote>&majorversion;.x</quote>, you must back up and restore your
333 data as shown here. These instructions assume that your existing
334 installation is under the <filename>/usr/local/pgsql</> directory,
335 and that the data area is in <filename>/usr/local/pgsql/data</>.
336 Substitute your paths appropriately.
342 Make sure that your database is not updated during or after the
343 backup. This does not affect the integrity of the backup, but the
344 changed data would of course not be included. If necessary, edit
345 the permissions in the file
346 <filename>/usr/local/pgsql/data/pg_hba.conf</> (or equivalent) to
347 disallow access from everyone except you.
354 <primary>pg_dumpall</primary>
355 <secondary>use during upgrade</secondary>
358 To back up your database installation, type:
360 <userinput>pg_dumpall > <replaceable>outputfile</></userinput>
362 If you need to preserve OIDs (such as when using them as
363 foreign keys), then use the <option>-o</option> option when running
364 <application>pg_dumpall</>.
368 <application>pg_dumpall</application> does not
369 save large objects. Check
370 <![%standalone-include[the documentation]]>
371 <![%standalone-ignore[<xref linkend="backup-dump-caveats">]]>
372 if you need to do this.
376 To make the backup, you can use the <application>pg_dumpall</application>
377 command from the version you are currently running. For best
378 results, however, try to use the <application>pg_dumpall</application>
379 command from <productname>PostgreSQL</productname> &version;,
380 since this version contains bug fixes and improvements over older
381 versions. While this advice might seem idiosyncratic since you
382 haven't installed the new version yet, it is advisable to follow
383 it if you plan to install the new version in parallel with the
384 old version. In that case you can complete the installation
385 normally and transfer the data later. This will also decrease
392 If you are installing the new version at the same location as the
393 old one then shut down the old server, at the latest before you
394 install the new files:
396 <userinput>kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`</>
398 Versions prior to 7.0 do not have this
399 <filename>postmaster.pid</> file. If you are using such a version
400 you must find out the process ID of the server yourself, for
401 example by typing <userinput>ps ax | grep postmaster</>, and
402 supply it to the <command>kill</> command.
406 On systems that have <productname>PostgreSQL</> started at boot time, there is
407 probably a start-up file that will accomplish the same thing. For
408 example, on a <systemitem class="osname">Red Hat Linux</> system one might find that
410 <userinput>/etc/rc.d/init.d/postgresql stop</userinput>
412 works. Another possibility is <userinput>pg_ctl stop</>.
418 If you are installing in the same place as the old version then
419 it is also a good idea to move the old installation out of the
420 way, in case you have trouble and need to revert to it.
421 Use a command like this:
423 <userinput>mv /usr/local/pgsql /usr/local/pgsql.old</>
430 After you have installed <productname>PostgreSQL</> &version;, create a new database
431 directory and start the new server. Remember that you must execute
432 these commands while logged in to the special database user account
433 (which you already have if you are upgrading).
435 <userinput>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</>
436 <userinput>/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data</>
438 Finally, restore your data with
440 <userinput>/usr/local/pgsql/bin/psql -d template1 -f <replaceable>outputfile</></userinput>
442 using the <emphasis>new</> <application>psql</>.
446 These topics are discussed at length in <![%standalone-include[the
447 documentation,]]> <![%standalone-ignore[<xref
448 linkend="migration">,]]> which you are encouraged to read in any
454 <sect1 id="install-procedure">
455 <title>Installation Procedure</title>
459 <step id="configure">
460 <title>Configuration</>
462 <indexterm zone="configure">
463 <primary>configure</primary>
467 The first step of the installation procedure is to configure the
468 source tree for your system and choose the options you would like.
469 This is done by running the <filename>configure</> script. For a
470 default installation simply enter
472 <userinput>./configure</userinput>
474 This script will run a number of tests to guess values for various
475 system dependent variables and detect some quirks of your
476 operating system, and finally will create several files in the
477 build tree to record what it found. (You can also run
478 <filename>configure</filename> in a directory outside the source
479 tree if you want to keep the build directory separate.)
483 The default configuration will build the server and utilities, as
484 well as all client applications and interfaces that require only a
485 C compiler. All files will be installed under
486 <filename>/usr/local/pgsql</> by default.
490 You can customize the build and installation process by supplying one
491 or more of the following command line options to
492 <filename>configure</filename>:
496 <term><option>--prefix=<replaceable>PREFIX</></option></term>
499 Install all files under the directory <replaceable>PREFIX</>
500 instead of <filename>/usr/local/pgsql</filename>. The actual
501 files will be installed into various subdirectories; no files
502 will ever be installed directly into the
503 <replaceable>PREFIX</> directory.
507 If you have special needs, you can also customize the
508 individual subdirectories with the following options. However,
509 if you leave these with their defaults, the installation will be
510 relocatable, meaning you can move the directory after
511 installation. (The <literal>man</> and <literal>doc</>
512 locations are not affected by this.)
516 For relocatable installs, you might want to use
517 <filename>configure</filename>'s <literal>--disable-rpath</>
518 option. Also, you will need to tell the operating system how
519 to find the shared libraries.
525 <term><option>--exec-prefix=<replaceable>EXEC-PREFIX</></option></term>
528 You can install architecture-dependent files under a
529 different prefix, <replaceable>EXEC-PREFIX</>, than what
530 <replaceable>PREFIX</> was set to. This can be useful to
531 share architecture-independent files between hosts. If you
532 omit this, then <replaceable>EXEC-PREFIX</> is set equal to
533 <replaceable>PREFIX</> and both architecture-dependent and
534 independent files will be installed under the same tree,
535 which is probably what you want.
541 <term><option>--bindir=<replaceable>DIRECTORY</></option></term>
544 Specifies the directory for executable programs. The default
545 is <filename><replaceable>EXEC-PREFIX</>/bin</>, which
546 normally means <filename>/usr/local/pgsql/bin</>.
552 <term><option>--datadir=<replaceable>DIRECTORY</></option></term>
555 Sets the directory for read-only data files used by the
556 installed programs. The default is
557 <filename><replaceable>PREFIX</>/share</>. Note that this has
558 nothing to do with where your database files will be placed.
564 <term><option>--sysconfdir=<replaceable>DIRECTORY</></option></term>
567 The directory for various configuration files,
568 <filename><replaceable>PREFIX</>/etc</> by default.
574 <term><option>--libdir=<replaceable>DIRECTORY</></option></term>
577 The location to install libraries and dynamically loadable
578 modules. The default is
579 <filename><replaceable>EXEC-PREFIX</>/lib</>.
585 <term><option>--includedir=<replaceable>DIRECTORY</></option></term>
588 The directory for installing C and C++ header files. The
589 default is <filename><replaceable>PREFIX</>/include</>.
595 <term><option>--mandir=<replaceable>DIRECTORY</></option></term>
598 The man pages that come with <productname>PostgreSQL</> will be installed under
599 this directory, in their respective
600 <filename>man<replaceable>x</></> subdirectories.
601 The default is <filename><replaceable>PREFIX</>/man</>.
607 <term><option>--with-docdir=<replaceable>DIRECTORY</></option></term>
608 <term><option>--without-docdir</option></term>
611 Documentation files, except <quote>man</> pages, will be
612 installed into this directory. The default is
613 <filename><replaceable>PREFIX</>/doc</>. If the option
614 <option>--without-docdir</option> is specified, the
615 documentation will not be installed by <command>make
616 install</command>. This is intended for packaging scripts
617 that have special methods for installing documentation.
625 Care has been taken to make it possible to install
626 <productname>PostgreSQL</> into shared installation locations
627 (such as <filename>/usr/local/include</filename>) without
628 interfering with the namespace of the rest of the system. First,
629 the string <quote><literal>/postgresql</literal></quote> is
630 automatically appended to <varname>datadir</varname>,
631 <varname>sysconfdir</varname>, and <varname>docdir</varname>,
632 unless the fully expanded directory name already contains the
633 string <quote><literal>postgres</></quote> or
634 <quote><literal>pgsql</></quote>. For example, if you choose
635 <filename>/usr/local</filename> as prefix, the documentation will
636 be installed in <filename>/usr/local/doc/postgresql</filename>,
637 but if the prefix is <filename>/opt/postgres</filename>, then it
638 will be in <filename>/opt/postgres/doc</filename>. The public C
639 header files of the client interfaces are installed into
640 <varname>includedir</varname> and are namespace-clean. The
641 internal header files and the server header files are installed
642 into private directories under <varname>includedir</varname>. See
643 the documentation of each interface for information about how to
644 get at the its header files. Finally, a private subdirectory will
645 also be created, if appropriate, under <varname>libdir</varname>
646 for dynamically loadable modules.
654 <term><option>--with-includes=<replaceable>DIRECTORIES</></option></term>
657 <replaceable>DIRECTORIES</> is a colon-separated list of
658 directories that will be added to the list the compiler
659 searches for header files. If you have optional packages
660 (such as GNU <application>Readline</>) installed in a non-standard
662 you have to use this option and probably also the corresponding
663 <option>--with-libraries</> option.
666 Example: <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>.
672 <term><option>--with-libraries=<replaceable>DIRECTORIES</></option></term>
675 <replaceable>DIRECTORIES</> is a colon-separated list of
676 directories to search for libraries. You will probably have
677 to use this option (and the corresponding
678 <option>--with-includes</> option) if you have packages
679 installed in non-standard locations.
682 Example: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>.
688 <term><option>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></option></term>
691 Enables Native Language Support (<acronym>NLS</acronym>),
692 that is, the ability to display a program's messages in a
693 language other than English.
694 <replaceable>LANGUAGES</replaceable> is a space separated
695 list of codes of the languages that you want supported, for
696 example <literal>--enable-nls='de fr'</>. (The intersection
697 between your list and the set of actually provided
698 translations will be computed automatically.) If you do not
699 specify a list, then all available translations are
704 To use this option, you will need an implementation of the
705 <application>Gettext</> API; see above.
711 <term><option>--with-pgport=<replaceable>NUMBER</></option></term>
714 Set <replaceable>NUMBER</> as the default port number for
715 server and clients. The default is 5432. The port can always
716 be changed later on, but if you specify it here then both
717 server and clients will have the same default compiled in,
718 which can be very convenient. Usually the only good reason
719 to select a non-default value is if you intend to run multiple
720 <productname>PostgreSQL</> servers on the same machine.
726 <term><option>--with-perl</option></term>
729 Build the <application>PL/Perl</> server-side language.
735 <term><option>--with-python</option></term>
738 Build the <application>PL/Python</> server-side language.
744 <term><option>--with-tcl</option></term>
747 Build the <application>PL/Tcl</> server-side language.
753 <term><option>--with-tclconfig=<replaceable>DIRECTORY</replaceable></option></term>
756 Tcl installs the file <filename>tclConfig.sh</filename>, which
757 contains configuration information needed to build modules
758 interfacing to Tcl. This file is normally found automatically
759 at a well-known location, but if you want to use a different
760 version of Tcl you can specify the directory in which to look
767 <term><option>--with-krb4</option></term>
768 <term><option>--with-krb5</option></term>
771 Build with support for Kerberos authentication. You can use
772 either Kerberos version 4 or 5, but not both. On many
773 systems, the Kerberos system is not installed in a location
774 that is searched by default (e.g., <filename>/usr/include</>,
775 <filename>/usr/lib</>), so you must use the options
776 <option>--with-includes</> and <option>--with-libraries</> in
777 addition to this option. <filename>configure</> will check
778 for the required header files and libraries to make sure that
779 your Kerberos installation is sufficient before proceeding.
785 <term><option>--with-krb-srvnam=<replaceable>NAME</></option></term>
788 The name of the Kerberos service principal.
789 <literal>postgres</literal> is the default. There's probably no
790 reason to change this.
797 <primary>OpenSSL</primary>
798 <seealso>SSL</seealso>
801 <term><option>--with-openssl</option></term>
804 Build with support for <acronym>SSL</> (encrypted)
805 connections. This requires the <productname>OpenSSL</>
806 package to be installed. <filename>configure</> will check
807 for the required header files and libraries to make sure that
808 your <productname>OpenSSL</> installation is sufficient
815 <term><option>--with-pam</option></term>
818 Build with <acronym>PAM</><indexterm><primary>PAM</></>
819 (Pluggable Authentication Modules) support.
825 <term><option>--without-readline</option></term>
828 Prevents the use of the <application>Readline</> library. This disables
829 command-line editing and history in
830 <application>psql</application>, so it is not recommended.
836 <term><option>--with-rendezvous</option></term>
839 Build with Rendezvous support.
845 <term><option>--disable-spinlocks</option></term>
848 Allow the build to succeed even if <productname>PostgreSQL</>
849 has no CPU spinlock support for the platform. The lack of
850 spinlock support will result in poor performance; therefore,
851 this option should only be used if the build aborts and
852 informs you that the platform lacks spinlock support. If this
853 option is required to build <productname>PostgreSQL</> on
854 your platform, please report the problem to the
855 <productname>PostgreSQL</> developers.
861 <term><option>--enable-thread-safety</option></term>
864 Make the client libraries thread-safe. This allows
865 concurrent threads in <application>libpq</application> and
866 <application>ECPG</application> programs to safely control
867 their private connection handles.
873 <term><option>--without-zlib</option></term>
876 Prevents the use of the <application>Zlib</> library. This disables
877 compression support in <application>pg_dump</application>.
878 This option is only intended for those rare systems where this
879 library is not available.
885 <term><option>--enable-debug</option></term>
888 Compiles all programs and libraries with debugging symbols.
889 This means that you can run the programs through a debugger
890 to analyze problems. This enlarges the size of the installed
891 executables considerably, and on non-GCC compilers it usually
892 also disables compiler optimization, causing slowdowns. However,
893 having the symbols available is extremely helpful for dealing
894 with any problems that may arise. Currently, this option is
895 recommended for production installations only if you use GCC.
896 But you should always have it on if you are doing development work
897 or running a beta version.
903 <term><option>--enable-cassert</option></term>
906 Enables <firstterm>assertion</> checks in the server, which test for
907 many <quote>can't happen</> conditions. This is invaluable for
908 code development purposes, but the tests slow things down a little.
909 Also, having the tests turned on won't necessarily enhance the
910 stability of your server! The assertion checks are not categorized
911 for severity, and so what might be a relatively harmless bug will
912 still lead to server restarts if it triggers an assertion
913 failure. Currently, this option is not recommended for
914 production use, but you should have it on for development work
915 or when running a beta version.
921 <term><option>--enable-depend</option></term>
924 Enables automatic dependency tracking. With this option, the
925 makefiles are set up so that all affected object files will
926 be rebuilt when any header file is changed. This is useful
927 if you are doing development work, but is just wasted overhead
928 if you intend only to compile once and install. At present,
929 this option will work only if you use GCC.
938 If you prefer a C compiler different from the one
939 <filename>configure</filename> picks then you can set the
940 environment variable <envar>CC</> to the program of your choice.
941 By default, <filename>configure</filename> will pick
942 <filename>gcc</filename> unless this is inappropriate for the
943 platform. Similarly, you can override the default compiler flags
944 with the <envar>CFLAGS</envar> variable.
948 You can specify environment variables on the
949 <filename>configure</filename> command line, for example:
951 <userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</>
960 To start the build, type
962 <userinput>gmake</userinput>
964 (Remember to use <acronym>GNU</> <application>make</>.) The build
965 may take anywhere from 5 minutes to half an hour depending on your
966 hardware. The last line displayed should be
968 All of PostgreSQL is successfully made. Ready to install.
974 <title>Regression Tests</title>
977 <primary>regression test</primary>
981 If you want to test the newly built server before you install it,
982 you can run the regression tests at this point. The regression
983 tests are a test suite to verify that <productname>PostgreSQL</>
984 runs on your machine in the way the developers expected it
987 <userinput>gmake check</userinput>
989 (This won't work as root; do it as an unprivileged user.)
990 <![%standalone-include[The file
991 <filename>src/test/regress/README</> and the
992 documentation contain]]>
993 <![%standalone-ignore[<xref linkend="regress"> contains]]>
994 detailed information about interpreting the test results. You can
995 repeat this test at any later time by issuing the same command.
1000 <title>Installing The Files</title>
1004 If you are upgrading an existing system and are going to install
1005 the new files over the old ones, then you should have backed up
1006 your data and shut down the old server by now, as explained in
1007 <xref linkend="install-upgrading"> above.
1012 To install <productname>PostgreSQL</> enter
1014 <userinput>gmake install</userinput>
1016 This will install files into the directories that were specified
1017 in <xref linkend="configure">. Make sure that you have appropriate
1018 permissions to write into that area. Normally you need to do this
1019 step as root. Alternatively, you could create the target
1020 directories in advance and arrange for appropriate permissions to
1025 You can use <literal>gmake install-strip</literal> instead of
1026 <literal>gmake install</literal> to strip the executable files and
1027 libraries as they are installed. This will save some space. If
1028 you built with debugging support, stripping will effectively
1029 remove the debugging support, so it should only be done if
1030 debugging is no longer needed. <literal>install-strip</literal>
1031 tries to do a reasonable job saving space, but it does not have
1032 perfect knowledge of how to strip every unneeded byte from an
1033 executable file, so if you want to save all the disk space you
1034 possibly can, you will have to do manual work.
1038 The standard installation provides all the header files needed for client
1039 application development as well as for any server-side program
1040 development (such as custom functions or data types written in C).
1044 <title>Client-only installation:</title>
1046 If you want to install only the client applications and
1047 interface libraries, then you can use these commands:
1049 <userinput>gmake -C src/bin install</>
1050 <userinput>gmake -C src/include install</>
1051 <userinput>gmake -C src/interfaces install</>
1052 <userinput>gmake -C doc install</>
1060 <title>Registering <application>eventlog</> on <systemitem
1061 class="osname">Windows</>:</title>
1063 To register a <systemitem class="osname">Windows</> <application>eventlog</>
1064 library with the operating system, issue this command after installation:
1066 <userinput>regsvr32 <replaceable>pgsql_library_directory</>/pgevent.dll</>
1068 This creates registry entries used by the event viewer.
1073 <title>Uninstallation:</title>
1075 To undo the installation use the command <command>gmake
1076 uninstall</>. However, this will not remove any created directories.
1081 <title>Cleaning:</title>
1084 After the installation you can make room by removing the built
1085 files from the source tree with the command <command>gmake
1086 clean</>. This will preserve the files made by the <command>configure</command>
1087 program, so that you can rebuild everything with <command>gmake</>
1088 later on. To reset the source tree to the state in which it was
1089 distributed, use <command>gmake distclean</>. If you are going to
1090 build for several platforms from the same source tree you must do
1091 this and re-configure for each build.
1096 If you perform a build and then discover that your <command>configure</>
1097 options were wrong, or if you change anything that <command>configure</>
1098 investigates (for example, software upgrades), then it's a good
1099 idea to do <command>gmake distclean</> before reconfiguring and
1100 rebuilding. Without this, your changes in configuration choices
1101 may not propagate everywhere they need to.
1105 <sect1 id="install-post">
1106 <title>Post-Installation Setup</title>
1109 <title>Shared Libraries</title>
1112 <primary>shared library</primary>
1116 On some systems that have shared libraries (which most systems do)
1117 you need to tell your system how to find the newly installed
1118 shared libraries. The systems on which this is
1119 <emphasis>not</emphasis> necessary include <systemitem
1120 class="osname">BSD/OS</>, <systemitem class="osname">FreeBSD</>,
1121 <systemitem class="osname">HP-UX</>, <systemitem
1122 class="osname">IRIX</>, <systemitem class="osname">Linux</>,
1123 <systemitem class="osname">NetBSD</>, <systemitem
1124 class="osname">OpenBSD</>, <systemitem class="osname">Tru64
1125 UNIX</> (formerly <systemitem class="osname">Digital UNIX</>), and
1126 <systemitem class="osname">Solaris</>.
1130 The method to set the shared library search path varies between
1131 platforms, but the most widely usable method is to set the
1132 environment variable <envar>LD_LIBRARY_PATH</> like so: In Bourne
1133 shells (<command>sh</>, <command>ksh</>, <command>bash</>, <command>zsh</>)
1135 LD_LIBRARY_PATH=/usr/local/pgsql/lib
1136 export LD_LIBRARY_PATH
1138 or in <command>csh</> or <command>tcsh</>
1140 setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
1142 Replace <literal>/usr/local/pgsql/lib</> with whatever you set
1143 <option><literal>--libdir</></> to in <xref linkend="configure">.
1144 You should put these commands into a shell start-up file such as
1145 <filename>/etc/profile</> or <filename>~/.bash_profile</>. Some
1146 good information about the caveats associated with this method can
1148 url="http://www.visi.com/~barr/ldpath.html"></ulink>.
1152 On some systems it might be preferable to set the environment
1153 variable <envar>LD_RUN_PATH</envar> <emphasis>before</emphasis>
1158 On <systemitem class="osname">Cygwin</systemitem>, put the library
1159 directory in the <envar>PATH</envar> or move the
1160 <filename>.dll</filename> files into the <filename>bin</filename>
1165 If in doubt, refer to the manual pages of your system (perhaps
1166 <command>ld.so</command> or <command>rld</command>). If you later
1167 on get a message like
1169 psql: error in loading shared libraries
1170 libpq.so.2.1: cannot open shared object file: No such file or directory
1172 then this step was necessary. Simply take care of it then.
1177 <primary>ldconfig</primary>
1179 If you are on <systemitem class="osname">BSD/OS</>, <systemitem
1180 class="osname">Linux</>, or <systemitem class="osname">SunOS 4</>
1181 and you have root access you can run
1183 /sbin/ldconfig /usr/local/pgsql/lib
1185 (or equivalent directory) after installation to enable the
1186 run-time linker to find the shared libraries faster. Refer to the
1187 manual page of <command>ldconfig</> for more information. On
1188 <systemitem class="osname">FreeBSD</>, <systemitem
1189 class="osname">NetBSD</>, and <systemitem
1190 class="osname">OpenBSD</> the command is
1192 /sbin/ldconfig -m /usr/local/pgsql/lib
1194 instead. Other systems are not known to have an equivalent
1200 <title>Environment Variables</title>
1203 <primary><envar>PATH</envar></primary>
1207 If you installed into <filename>/usr/local/pgsql</> or some other
1208 location that is not searched for programs by default, you should
1209 add <filename>/usr/local/pgsql/bin</> (or whatever you set
1210 <option><literal>--bindir</></> to in <xref linkend="configure">)
1211 into your <envar>PATH</>. Strictly speaking, this is not
1212 necessary, but it will make the use of <productname>PostgreSQL</>
1213 much more convenient.
1217 To do this, add the following to your shell start-up file, such as
1218 <filename>~/.bash_profile</> (or <filename>/etc/profile</>, if you
1219 want it to affect every user):
1221 PATH=/usr/local/pgsql/bin:$PATH
1224 If you are using <command>csh</> or <command>tcsh</>, then use this command:
1226 set path = ( /usr/local/pgsql/bin $path )
1232 <primary><envar>MANPATH</envar></primary>
1234 To enable your system to find the <application>man</>
1235 documentation, you need to add lines like the following to a
1236 shell start-up file unless you installed into a location that is
1237 searched by default.
1239 MANPATH=/usr/local/pgsql/man:$MANPATH
1245 The environment variables <envar>PGHOST</> and <envar>PGPORT</>
1246 specify to client applications the host and port of the database
1247 server, overriding the compiled-in defaults. If you are going to
1248 run client applications remotely then it is convenient if every
1249 user that plans to use the database sets <envar>PGHOST</>. This
1250 is not required, however: the settings can be communicated via command
1251 line options to most client programs.
1257 <![%standalone-include;[
1258 <sect1 id="install-getting-started">
1259 <title>Getting Started</title>
1262 The following is a quick summary of how to get <productname>PostgreSQL</> up and
1263 running once installed. The main documentation contains more information.
1269 Create a user account for the <productname>PostgreSQL</>
1270 server. This is the user the server will run as. For production
1271 use you should create a separate, unprivileged account
1272 (<quote>postgres</> is commonly used). If you do not have root
1273 access or just want to play around, your own user account is
1274 enough, but running the server as root is a security risk and
1277 <userinput>adduser postgres</>
1284 Create a database installation with the <command>initdb</>
1285 command. To run <command>initdb</> you must be logged in to your
1286 <productname>PostgreSQL</> server account. It will not work as
1289 root# <userinput>mkdir /usr/local/pgsql/data</>
1290 root# <userinput>chown postgres /usr/local/pgsql/data</>
1291 root# <userinput>su - postgres</>
1292 postgres$ <userinput>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</>
1297 The <option>-D</> option specifies the location where the data
1298 will be stored. You can use any path you want, it does not have
1299 to be under the installation directory. Just make sure that the
1300 server account can write to the directory (or create it, if it
1301 doesn't already exist) before starting <command>initdb</>, as
1308 The previous step should have told you how to start up the
1309 database server. Do so now. The command should look something
1312 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
1314 This will start the server in the foreground. To put the server
1315 in the background use something like
1317 nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
1318 </dev/null >>server.log 2>&1 </dev/null &
1323 To stop a server running in the background you can type
1325 kill `cat /usr/local/pgsql/data/postmaster.pid`
1330 In order to allow TCP/IP connections (rather than only Unix
1331 domain socket ones) you need to pass the <option>-i</> option to
1332 <filename>postmaster</>.
1340 <userinput>createdb testdb</>
1344 <userinput>psql testdb</>
1346 to connect to that database. At the prompt you can enter SQL
1347 commands and start experimenting.
1353 <sect1 id="install-whatnow">
1354 <title>What Now?</title>
1360 The <productname>PostgreSQL</> distribution contains a
1361 comprehensive documentation set, which you should read sometime.
1362 After installation, the documentation can be accessed by
1363 pointing your browser to
1364 <filename>/usr/local/pgsql/doc/html/index.html</>, unless you
1365 changed the installation directories.
1369 The first few chapters of the main documentation are the Tutorial,
1370 which should be your first reading if you are completely new to
1371 <acronym>SQL</> databases. If you are familiar with database
1372 concepts then you want to proceed with part on server
1373 administration, which contains information about how to set up
1374 the database server, database users, and authentication.
1380 Usually, you will want to modify your computer so that it will
1381 automatically start the database server whenever it boots. Some
1382 suggestions for this are in the documentation.
1388 Run the regression tests against the installed server (using
1389 <command>gmake installcheck</command>). If you didn't run the
1390 tests before installation, you should definitely do it now. This
1391 is also explained in the documentation.
1397 By default, <productname>PostgreSQL</> is configured to run on
1398 minimal hardware. This allows it to start up with almost any
1399 hardware configuration. The default configuration is, however,
1400 not designed for optimum performance. To achieve optimum
1401 performance, several server parameters must be adjusted, the two
1402 most common being <varname>shared_buffers</varname> and
1403 <varname>work_mem</varname>.
1404 Other parameters mentioned in the documentation also affect
1414 <sect1 id="supported-platforms">
1415 <title>Supported Platforms</title>
1418 <productname>PostgreSQL</> has been verified by the developer
1419 community to work on the platforms listed below. A supported
1420 platform generally means that <productname>PostgreSQL</> builds and
1421 installs according to these instructions and that the regression
1422 tests pass. <quote>Build farm</quote> entries refer to builds
1423 reported by the <ulink url="http://www.pgbuildfarm.org/">PostgreSQL
1429 If you are having problems with the installation on a supported
1430 platform, please write to <email>pgsql-bugs@postgresql.org</email>
1431 or <email>pgsql-ports@postgresql.org</email>, not to the people
1440 <entry><acronym>OS</acronym></entry>
1441 <entry>Processor</entry>
1442 <entry>Version</entry>
1443 <entry>Reported</entry>
1444 <entry>Remarks</entry>
1449 <entry><systemitem class="osname">AIX</></entry>
1450 <entry><systemitem>PowerPC</></entry>
1451 <entry>8.0.0</entry>
1452 <entry>Travis P (<email>twp@castle.fastmail.fm</email>), 2004-12-12</entry>
1453 <entry>see also <filename>doc/FAQ_AIX</filename></entry>
1456 <entry><systemitem class="osname">AIX</></entry>
1457 <entry><systemitem>RS6000</></entry>
1458 <entry>8.0.0</entry>
1459 <entry>Hans-Jürgen Schönig (<email>hs@cybertec.at</email>), 2004-12-06</entry>
1460 <entry>see also <filename>doc/FAQ_AIX</filename></entry>
1463 <entry><systemitem class="osname">BSD/OS</></entry>
1464 <entry><systemitem>x86</></entry>
1465 <entry>8.0.0</entry>
1466 <entry>Bruce Momjian (<email>pgman@candle.pha.pa.us</email>), 2004-12-07</entry>
1467 <entry>4.3.1</entry>
1470 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1471 <entry><systemitem>Alpha</></entry>
1473 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1477 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1478 <entry><systemitem>AMD64</></entry>
1479 <entry>8.0.0</entry>
1480 <entry>Build farm <systemitem class="systemname">panda</systemitem>, snapshot 2004-12-06 01:20:02</entry>
1481 <entry>sid, kernel 2.6</entry>
1484 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1485 <entry><systemitem>arm41</></entry>
1487 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1491 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1492 <entry><systemitem>Itanium</></entry>
1494 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1498 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1499 <entry><systemitem>m68k</></entry>
1500 <entry>8.0.0</entry>
1501 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-09</entry>
1505 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1506 <entry><systemitem>MIPS</></entry>
1507 <entry>8.0.0</entry>
1508 <entry>Build farm <systemitem class="systemname">lionfish</systemitem>, snapshot 2004-12-06 11:00:08</entry>
1509 <entry>3.1 (sarge), kernel 2.4</entry>
1512 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1513 <entry><systemitem>PA-RISC</></entry>
1514 <entry>8.0.0</entry>
1515 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-07</entry>
1519 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1520 <entry><systemitem>PowerPC</></entry>
1521 <entry>8.0.0</entry>
1522 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-15</entry>
1526 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1527 <entry><systemitem>S/390</></entry>
1529 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2003-10-25</entry>
1533 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1534 <entry><systemitem>Sparc</></entry>
1535 <entry>8.0.0</entry>
1536 <entry>Noèl Köthe (<email>noel@debian.org</email>), 2004-12-09</entry>
1537 <entry>sid, 32-bit</entry>
1540 <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1541 <entry><systemitem>x86</></entry>
1542 <entry>8.0.0</entry>
1543 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2004-12-06</entry>
1544 <entry>3.1 (sarge), kernel 2.6</entry>
1547 <entry><systemitem class="osname">Fedora</></entry>
1548 <entry><systemitem>AMD64</></entry>
1549 <entry>8.0.0</entry>
1550 <entry>John Gray (<email>jgray@azuli.co.uk</email>), 2004-12-12</entry>
1554 <entry><systemitem class="osname">Fedora</></entry>
1555 <entry><systemitem>x86</></entry>
1556 <entry>8.0.0</entry>
1557 <entry>Build farm <systemitem class="systemname">dog</systemitem>, snapshot 2004-12-06 02:06:01</entry>
1561 <entry><systemitem class="osname">FreeBSD</></entry>
1562 <entry><systemitem>Alpha</></entry>
1564 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-10-25</entry>
1568 <entry><systemitem class="osname">FreeBSD</></entry>
1569 <entry><systemitem>x86</></entry>
1570 <entry>8.0.0</entry>
1571 <entry>Build farm <systemitem class="systemname">cockatoo</systemitem>, snapshot 2004-12-06 14:10:01 (4.10);
1572 Marc Fournier (<email>scrappy@postgresql.org</email>), 2004-12-07 (5.3)</entry>
1576 <entry><systemitem class="osname">Gentoo Linux</></entry>
1577 <entry><systemitem>x86</></entry>
1578 <entry>8.0.0</entry>
1579 <entry>Paul Bort (<email>pbort@tmwsystems.com</email>), 2004-12-07</entry>
1583 <entry><systemitem class="osname">HP-UX</></entry>
1584 <entry><systemitem>PA-RISC</></entry>
1587 Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2003-10-31 (10.20);
1588 Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-11-04 (11.00)
1590 <entry><command>gcc</> and <command>cc</>; see also <filename>doc/FAQ_HPUX</filename></entry>
1593 <entry><systemitem class="osname">IRIX</></entry>
1594 <entry><systemitem>MIPS</></entry>
1596 <entry>Robert E. Bruccoleri (<email>bruc@stone.congenomics.com</email>), 2003-11-12</entry>
1597 <entry>6.5.20, <command>cc</command> only</entry>
1600 <entry><systemitem class="osname">Mac OS X</></entry>
1601 <entry><systemitem>PowerPC</></entry>
1602 <entry>8.0.0</entry>
1603 <entry>Andrew Rawnsley (<email>ronz@ravensfield.com</email>), 2004-12-07</entry>
1604 <entry>10.3.5</entry>
1607 <entry><systemitem class="osname">Mandrakelinux</></entry>
1608 <entry><systemitem>x86</></entry>
1609 <entry>8.0.0</entry>
1610 <entry>Build farm <systemitem class="systemname">shrew</systemitem>, snapshot 2004-12-06 02:02:01</entry>
1614 <entry><systemitem class="osname">NetBSD</></entry>
1615 <entry><systemitem>arm32</></entry>
1617 <entry>Patrick Welche (<email>prlw1@newn.cam.ac.uk</email>), 2003-11-12</entry>
1618 <entry>1.6ZE/acorn32</entry>
1621 <entry><systemitem class="osname">NetBSD</></entry>
1622 <entry><systemitem>Sparc</></entry>
1623 <entry>7.4.1</entry>
1624 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-11-26</entry>
1625 <entry>1.6.1, 32-bit</entry>
1628 <entry><systemitem class="osname">NetBSD</></entry>
1629 <entry><systemitem>x86</></entry>
1630 <entry>8.0.0</entry>
1631 <entry>Build farm <systemitem class="systemname">canary</systemitem>, snapshot 2004-12-06 03:30:00</entry>
1635 <entry><systemitem class="osname">OpenBSD</></entry>
1636 <entry><systemitem>Sparc</></entry>
1638 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-11-01</entry>
1642 <entry><systemitem class="osname">OpenBSD</></entry>
1643 <entry><systemitem>x86</></entry>
1644 <entry>8.0.0</entry>
1645 <entry>Build farm <systemitem class="systemname">emu</systemitem>, snapshot 2004-12-06 11:35:03</entry>
1649 <entry><systemitem class="osname">Red Hat Linux</></entry>
1650 <entry><systemitem>AMD64</></entry>
1651 <entry>8.0.0</entry>
1652 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1653 <entry>RHEL 3AS</entry>
1656 <entry><systemitem class="osname">Red Hat Linux</></entry>
1657 <entry><systemitem>IA64</></entry>
1658 <entry>8.0.0</entry>
1659 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1660 <entry>RHEL 3AS</entry>
1663 <entry><systemitem class="osname">Red Hat Linux</></entry>
1664 <entry><systemitem>PowerPC</></entry>
1665 <entry>8.0.0</entry>
1666 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1667 <entry>RHEL 3AS</entry>
1670 <entry><systemitem class="osname">Red Hat Linux</></entry>
1671 <entry><systemitem>PowerPC 64</></entry>
1672 <entry>8.0.0</entry>
1673 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1674 <entry>RHEL 3AS</entry>
1677 <entry><systemitem class="osname">Red Hat Linux</></entry>
1678 <entry><systemitem>S/390</></entry>
1679 <entry>8.0.0</entry>
1680 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1681 <entry>RHEL 3AS</entry>
1684 <entry><systemitem class="osname">Red Hat Linux</></entry>
1685 <entry><systemitem>S/390x</></entry>
1686 <entry>8.0.0</entry>
1687 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1688 <entry>RHEL 3AS</entry>
1691 <entry><systemitem class="osname">Red Hat Linux</></entry>
1692 <entry><systemitem>x86</></entry>
1693 <entry>8.0.0</entry>
1694 <entry>Tom Lane (<email>tgl@sss.pgh.pa.us</email>), 2004-12-07</entry>
1695 <entry>RHEL 3AS</entry>
1698 <entry><systemitem class="osname">Solaris</></entry>
1699 <entry><systemitem>Sparc</></entry>
1700 <entry>8.0.0</entry>
1701 <entry>Kenneth Marshall (<email>ktm@is.rice.edu</email>), 2004-12-07</entry>
1702 <entry>Solaris 8; see also <filename>doc/FAQ_Solaris</filename></entry>
1705 <entry><systemitem class="osname">Solaris</></entry>
1706 <entry><systemitem>x86</></entry>
1707 <entry>8.0.0</entry>
1708 <entry>Build farm <systemitem class="systemname">kudu</systemitem>, snapshot 2004-12-10 02:30:04 (<command>cc</command>);
1709 <systemitem class="systemname">dragonfly</systemitem>, snapshot 2004-12-09 04:30:00 (<command>gcc</command>)</entry>
1710 <entry>Solaris 9; see also <filename>doc/FAQ_Solaris</filename></entry>
1713 <entry><systemitem class="osname">Tru64 UNIX</></entry>
1714 <entry><systemitem>Alpha</></entry>
1716 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-10-25 (5.1b);
1717 Alessio Bragadini (<email>alessio@albourne.com</email>), 2003-10-29 (4.0g)</entry>
1721 <entry><systemitem class="osname">UnixWare</></entry>
1722 <entry><systemitem>x86</></entry>
1723 <entry>8.0.0</entry>
1724 <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2004-12-14</entry>
1725 <entry><command>cc</command>, 7.1.4; see also <filename>doc/FAQ_SCO</filename></entry>
1728 <entry><systemitem class="osname">Windows</></entry>
1729 <entry><systemitem>x86</></entry>
1730 <entry>8.0.0</entry>
1731 <entry>Dave Page (<email>dpage@vale-housing.co.uk</email>), 2004-12-07</entry>
1732 <entry>see <filename>doc/FAQ_MINGW</filename></entry>
1735 <entry><systemitem class="osname">Windows with <application>Cygwin</application></></entry>
1736 <entry><systemitem>x86</></entry>
1737 <entry>8.0.0</entry>
1738 <entry>Build farm <systemitem class="systemname">gibbon</systemitem>, snapshot 2004-12-11 01:33:01</entry>
1739 <entry>see <filename>doc/FAQ_CYGWIN</filename></entry>
1746 <title>Unsupported Platforms:</title>
1748 The following platforms are either known not to work, or they used
1749 to work in a previous release and we did not receive explicit
1750 confirmation of a successful test with version &majorversion; at
1751 the time this list was compiled. We include these here to let you
1752 know that these platforms <emphasis>could</> be supported if given
1761 <entry><acronym>OS</acronym></entry>
1762 <entry>Processor</entry>
1763 <entry>Version</entry>
1764 <entry>Reported</entry>
1765 <entry>Remarks</entry>
1771 <entry><systemitem class="osname">BeOS</></entry>
1772 <entry><systemitem>x86</></entry>
1775 Cyril Velter (<email>cyril.velter@libertysurf.fr</email>)</entry>
1776 <entry>needs updates to semaphore code</entry>
1779 <entry><systemitem class="osname">Linux</></entry>
1780 <entry><systemitem>PlayStation 2</></entry>
1783 Peter Eisentraut (<email>peter_e@gmx.net</email>)</entry>
1785 needs new <filename>config.guess</filename>,
1786 <option>--disable-spinlocks</option>
1790 <entry><systemitem class="osname">NetBSD</></entry>
1791 <entry><systemitem>Alpha</></entry>
1794 Thomas Thai (<email>tom@minnesota.com</email>)</entry>
1798 <entry><systemitem class="osname">NetBSD</></entry>
1799 <entry><systemitem>MIPS</></entry>
1800 <entry>7.2.1</entry>
1802 Warwick Hunter (<email>whunter@agile.tv</email>)</entry>
1803 <entry>1.5.3</entry>
1806 <entry><systemitem class="osname">NetBSD</></entry>
1807 <entry><systemitem>PowerPC</></entry>
1810 Bill Studenmund (<email>wrstuden@netbsd.org</email>)</entry>
1814 <entry><systemitem class="osname">NetBSD</></entry>
1815 <entry><systemitem>VAX</></entry>
1818 Tom I. Helbekkmo (<email>tih@kpnQwest.no</email>)</entry>
1822 <entry><systemitem class="osname">QNX 4 RTOS</></entry>
1823 <entry><systemitem>x86</></entry>
1826 Bernd Tegge (<email>tegge@repas-aeg.de</email>)
1828 <entry>needs updates to semaphore code;
1829 see also <filename>doc/FAQ_QNX4</filename></entry>
1832 <entry><systemitem class="osname">QNX RTOS v6</></entry>
1833 <entry><systemitem>x86</></entry>
1835 <entry>2001-11-20, Igor Kovalenko (<email>Igor.Kovalenko@motorola.com</email>)</entry>
1836 <entry>patches available in archives, but too late for 7.2</entry>
1839 <entry><systemitem class="osname">SCO OpenServer</></entry>
1840 <entry><systemitem>x86</></entry>
1841 <entry>7.3.1</entry>
1843 Shibashish Satpathy (<email>shib@postmark.net</>)</entry>
1844 <entry>5.0.4, <command>gcc</>; see also <filename>doc/FAQ_SCO</filename></entry>
1847 <entry><systemitem class="osname">SunOS 4</></entry>
1848 <entry><systemitem>Sparc</></entry>
1850 <entry>2001-12-04, Tatsuo Ishii (<email>t-ishii@sra.co.jp</email>)</entry>
1860 <!-- Keep this comment at the end of the file
1865 sgml-minimize-attributes:nil
1866 sgml-always-quote-attributes:t
1868 sgml-indent-tabs-mode:nil
1870 sgml-parent-document:nil
1871 sgml-default-dtd-file:"./reference.ced"
1872 sgml-exposed-tags:nil
1873 sgml-local-catalogs:("/usr/share/sgml/catalog")
1874 sgml-local-ecat-files:nil