OSDN Git Service

Support cross compilation by compiling "zic" with a native compiler. This
[pg-rex/syncrep.git] / doc / src / sgml / installation.sgml
1 <!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.239 2005/07/03 18:54:27 petere Exp $ -->
2
3 <chapter id="installation">
4  <title><![%standalone-include[<productname>PostgreSQL</>]]>
5   Installation Instructions</title>
6
7  <indexterm zone="installation">
8   <primary>installation</primary>
9  </indexterm>
10
11  <para>
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.)
20  </para>
21
22  <sect1 id="install-short">
23   <title>Short Version</title>
24
25   <para>
26 <synopsis>
27 ./configure
28 gmake
29 su
30 gmake install
31 adduser postgres
32 mkdir /usr/local/pgsql/data
33 chown postgres /usr/local/pgsql/data
34 su - postgres
35 /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
36 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data &gt;logfile 2&gt;&amp;1 &amp;
37 /usr/local/pgsql/bin/createdb test
38 /usr/local/pgsql/bin/psql test
39 </synopsis>
40    The long version is the rest of this
41    <![%standalone-include;[document.]]>
42    <![%standalone-ignore;[chapter.]]>
43   </para>
44  </sect1>
45
46
47  <sect1 id="install-requirements">
48   <title>Requirements</title>
49
50   <para>
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.
58   </para>
59
60   <para>
61    The following software packages are required for building
62    <productname>PostgreSQL</>:
63
64    <itemizedlist>
65     <listitem>
66      <para>
67       <indexterm>
68        <primary>make</primary>
69       </indexterm>
70
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
79 <screen>
80 <userinput>gmake --version</userinput>
81 </screen>
82       It is recommended to use version 3.76.1 or later.
83      </para>
84     </listitem>
85
86     <listitem>
87      <para>
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.
92      </para>
93     </listitem>
94
95     <listitem>
96      <para>
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
99       past that hurdle.]]>
100      </para>
101     </listitem>
102
103     <listitem>
104      <para>
105       <indexterm>
106        <primary>readline</primary>
107       </indexterm>
108
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.
120      </para>
121     </listitem>
122
123     <listitem>
124      <para>
125       <indexterm>
126        <primary>installation</primary>
127        <secondary>on Windows</secondary>
128       </indexterm>
129
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">]]>.
149      </para>
150     </listitem>
151    </itemizedlist>
152   </para>
153
154   <para>
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.
158
159    <itemizedlist>
160     <listitem>
161      <para>
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.
173      </para>
174
175      <para>
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:
178 <screen>
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.
182 </screen>
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.
191      </para>
192     </listitem>
193
194     <listitem>
195      <para>
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
202       to install it.
203      </para>
204
205      <para>
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:
215 <screen>
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.
219 </screen>
220       That means you have to rebuild (part of) your
221       <productname>Python</productname> installation to supply this
222       shared library.
223      </para>
224
225      <para>
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.
232      </para>
233     </listitem>
234
235     <listitem>
236      <para>
237       If you want to build the <application>PL/Tcl</application>
238       procedural language, you of course need a Tcl installation.
239      </para>
240     </listitem>
241
242     <listitem>
243      <para>
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
257       not need it.
258      </para>
259     </listitem>
260
261     <listitem>
262      <para>
263       <application>Kerberos</>, <productname>OpenSSL</>, and/or
264       <application>PAM</>, if you want to support authentication or
265       encryption using these services.
266      </para>
267     </listitem>
268    </itemizedlist>
269   </para>
270
271   <para>
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:
275
276    <itemizedlist>
277     <listitem>
278      <para>
279       <indexterm>
280        <primary>flex</primary>
281       </indexterm>
282       <indexterm>
283        <primary>bison</primary>
284       </indexterm>
285       <indexterm>
286        <primary>yacc</primary>
287       </indexterm>
288
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.
297      </para>
298     </listitem>
299    </itemizedlist>
300   </para>
301
302   <para>
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>.
308   </para>
309
310   <para>
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
318    space.
319   </para>
320  </sect1>
321
322 <![%standalone-ignore;[
323  <sect1 id="install-getsource">
324   <title>Getting The Source</title>
325
326   <para>
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:
333 <screen>
334 <userinput>gunzip postgresql-&version;.tar.gz</userinput>
335 <userinput>tar xf postgresql-&version;.tar</userinput>
336 </screen>
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.
342   </para>
343  </sect1>
344 ]]>
345
346  <sect1 id="install-upgrading">
347   <title>If You Are Upgrading</title>
348
349   <indexterm zone="install-upgrading">
350    <primary>upgrading</primary>
351   </indexterm>
352
353   <para>
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.
362   </para>
363
364   <procedure>
365    <step>
366     <para>
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.
373     </para>
374    </step>
375
376    <step>
377     <para>
378      <indexterm>
379       <primary>pg_dumpall</primary>
380       <secondary>use during upgrade</secondary>
381      </indexterm>
382
383      To back up your database installation, type:
384 <screen>
385 <userinput>pg_dumpall &gt; <replaceable>outputfile</></userinput>
386 </screen>
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</>.
390     </para>
391
392     <para>
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
403      the downtime.
404     </para>
405    </step>
406
407    <step>
408     <para>
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:
412 <screen>
413 <userinput>pg_ctl stop</>
414 </screen>
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
418      might find that
419 <screen>
420 <userinput>/etc/rc.d/init.d/postgresql stop</userinput>
421 </screen>
422      works.
423     </para>
424
425     <para>
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
429 <screen>
430 <userinput>ps ax | grep postmaster</userinput>
431 </screen>
432      and signal it to stop this way:
433 <screen>
434 <userinput>kill -INT <replaceable>processID</></userinput>
435 </screen>
436     </para>
437    </step>
438
439    <step>
440     <para>
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:
445 <screen>
446 <userinput>mv /usr/local/pgsql /usr/local/pgsql.old</>
447 </screen>
448     </para>
449    </step>
450   </procedure>
451
452   <para>
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).
457 <programlisting>
458 <userinput>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</>
459 <userinput>/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data</>
460 </programlisting>
461    Finally, restore your data with
462 <screen>
463 <userinput>/usr/local/pgsql/bin/psql -d postgres -f <replaceable>outputfile</></userinput>
464 </screen>
465    using the <emphasis>new</> <application>psql</>.
466   </para>
467
468   <para>
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.
473   </para>
474  </sect1>
475
476
477  <sect1 id="install-procedure">
478   <title>Installation Procedure</title>
479
480   <procedure>
481
482   <step id="configure">
483    <title>Configuration</>
484
485    <indexterm zone="configure">
486     <primary>configure</primary>
487    </indexterm>
488
489    <para>
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
494 <screen>
495 <userinput>./configure</userinput>
496 </screen>
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.)
503    </para>
504
505    <para>
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.
510    </para>
511
512    <para>
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>:
516
517      <variablelist>
518       <varlistentry>
519        <term><option>--prefix=<replaceable>PREFIX</></option></term>
520        <listitem>
521         <para>
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.
527         </para>
528
529         <para>
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.)
536         </para>
537
538         <para>
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.
543         </para>
544        </listitem>
545       </varlistentry>
546
547       <varlistentry>
548        <term><option>--exec-prefix=<replaceable>EXEC-PREFIX</></option></term>
549        <listitem>
550         <para>
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.
559         </para>
560        </listitem>
561       </varlistentry>
562
563       <varlistentry>
564        <term><option>--bindir=<replaceable>DIRECTORY</></option></term>
565        <listitem>
566         <para>
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</>.
570         </para>
571        </listitem>
572       </varlistentry>
573
574       <varlistentry>
575        <term><option>--datadir=<replaceable>DIRECTORY</></option></term>
576        <listitem>
577         <para>
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.
582         </para>
583        </listitem>
584       </varlistentry>
585
586       <varlistentry>
587        <term><option>--sysconfdir=<replaceable>DIRECTORY</></option></term>
588        <listitem>
589         <para>
590          The directory for various configuration files,
591          <filename><replaceable>PREFIX</>/etc</> by default.
592         </para>
593        </listitem>
594       </varlistentry>
595
596       <varlistentry>
597        <term><option>--libdir=<replaceable>DIRECTORY</></option></term>
598        <listitem>
599         <para>
600          The location to install libraries and dynamically loadable
601          modules. The default is
602          <filename><replaceable>EXEC-PREFIX</>/lib</>.
603         </para>
604        </listitem>
605       </varlistentry>
606
607       <varlistentry>
608        <term><option>--includedir=<replaceable>DIRECTORY</></option></term>
609        <listitem>
610         <para>
611          The directory for installing C and C++ header files. The
612          default is <filename><replaceable>PREFIX</>/include</>.
613         </para>
614        </listitem>
615       </varlistentry>
616
617       <varlistentry>
618        <term><option>--mandir=<replaceable>DIRECTORY</></option></term>
619        <listitem>
620         <para>
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</>.
625         </para>
626        </listitem>
627       </varlistentry>
628
629       <varlistentry>
630        <term><option>--with-docdir=<replaceable>DIRECTORY</></option></term>
631        <term><option>--without-docdir</option></term>
632        <listitem>
633         <para>
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.
641         </para>
642        </listitem>
643       </varlistentry>
644      </variablelist>
645
646      <note>
647       <para>
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.
670       </para>
671      </note>
672     </para>
673
674     <para>
675      <variablelist>
676       <varlistentry>
677        <term><option>--with-includes=<replaceable>DIRECTORIES</></option></term>
678        <listitem>
679         <para>
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
684          location,
685          you have to use this option and probably also the corresponding
686          <option>--with-libraries</> option.
687         </para>
688         <para>
689          Example: <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>.
690         </para>
691        </listitem>
692       </varlistentry>
693
694       <varlistentry>
695        <term><option>--with-libraries=<replaceable>DIRECTORIES</></option></term>
696        <listitem>
697         <para>
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.
703         </para>
704         <para>
705          Example: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>.
706         </para>
707        </listitem>
708       </varlistentry>
709
710       <varlistentry>
711        <term><option>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></option></term>
712        <listitem>
713         <para>
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
723          installed.
724         </para>
725
726         <para>
727          To use this option, you will need an implementation of the
728          <application>Gettext</> API; see above.
729         </para>
730        </listitem>
731       </varlistentry>
732
733       <varlistentry>
734        <term><option>--with-pgport=<replaceable>NUMBER</></option></term>
735        <listitem>
736         <para>
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.
744         </para>
745        </listitem>
746       </varlistentry>
747
748       <varlistentry>
749        <term><option>--with-perl</option></term>
750        <listitem>
751         <para>
752          Build the <application>PL/Perl</> server-side language.
753         </para>
754        </listitem>
755       </varlistentry>
756
757       <varlistentry>
758        <term><option>--with-python</option></term>
759        <listitem>
760         <para>
761          Build the <application>PL/Python</> server-side language.
762         </para>
763        </listitem>
764       </varlistentry>
765
766       <varlistentry>
767        <term><option>--with-tcl</option></term>
768        <listitem>
769         <para>
770          Build the <application>PL/Tcl</> server-side language.
771         </para>
772        </listitem>
773       </varlistentry>
774
775       <varlistentry>
776        <term><option>--with-tclconfig=<replaceable>DIRECTORY</replaceable></option></term>
777        <listitem>
778         <para>
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
784          for it.
785         </para>
786        </listitem>
787       </varlistentry>
788
789       <varlistentry>
790        <term><option>--with-krb5</option></term>
791        <listitem>
792         <para>
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.
801         </para>
802        </listitem>
803       </varlistentry>
804
805       <varlistentry>
806        <term><option>--with-krb-srvnam=<replaceable>NAME</></option></term>
807        <listitem>
808         <para>
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.
812         </para>
813        </listitem>
814       </varlistentry>
815
816       <varlistentry>
817        <indexterm>
818         <primary>OpenSSL</primary>
819         <seealso>SSL</seealso>
820        </indexterm>
821
822        <term><option>--with-openssl</option></term>
823        <listitem>
824         <para>
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
830          before proceeding.
831         </para>
832        </listitem>
833       </varlistentry>
834
835       <varlistentry>
836        <term><option>--with-pam</option></term>
837        <listitem>
838         <para>
839          Build with <acronym>PAM</><indexterm><primary>PAM</></>
840          (Pluggable Authentication Modules) support.
841         </para>
842        </listitem>
843       </varlistentry>
844
845       <varlistentry>
846        <term><option>--without-readline</option></term>
847        <listitem>
848         <para>
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.
852         </para>
853        </listitem>
854       </varlistentry>
855
856       <varlistentry>
857        <term><option>--with-bonjour</option></term>
858        <listitem>
859         <para>
860          Build with Bonjour support.  This requires Bonjour support
861          in your operating system.  Recommended on Mac OS X.
862         </para>
863        </listitem>
864       </varlistentry>
865
866       <varlistentry>
867        <term><option>--enable-integer-datetimes</option></term>
868        <listitem>
869         <para>
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
876          to time.
877         </para>
878        </listitem>
879       </varlistentry>
880
881       <varlistentry>
882        <term><option>--disable-spinlocks</option></term>
883        <listitem>
884         <para>
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.
893         </para>
894        </listitem>
895       </varlistentry>
896
897       <varlistentry>
898        <term><option>--enable-thread-safety</option></term>
899        <listitem>
900         <para>
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.
906         </para>
907        </listitem>
908       </varlistentry>
909
910       <varlistentry>
911        <term><option>--without-zlib</option></term>
912        <listitem>
913         <para>
914          <indexterm>
915           <primary>zlib</primary>
916          </indexterm>
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.
922         </para>
923        </listitem>
924       </varlistentry>
925
926       <varlistentry>
927        <term><option>--enable-debug</option></term>
928        <listitem>
929         <para>
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.
940         </para>
941        </listitem>
942       </varlistentry>
943
944       <varlistentry>
945        <term><option>--enable-cassert</option></term>
946        <listitem>
947         <para>
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.
958         </para>
959        </listitem>
960       </varlistentry>
961
962       <varlistentry>
963        <term><option>--enable-depend</option></term>
964        <listitem>
965         <para>
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.
972         </para>
973        </listitem>
974       </varlistentry>
975
976      </variablelist>
977     </para>
978
979     <para>
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.
987     </para>
988
989     <para>
990      You can specify environment variables on the
991      <filename>configure</filename> command line, for example:
992 <screen>
993 <userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</>
994 </screen>
995     </para>
996
997     <para>
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.
1012     </para>
1013    </step>
1014
1015   <step>
1016    <title>Build</title>
1017
1018    <para>
1019     To start the build, type
1020 <screen>
1021 <userinput>gmake</userinput>
1022 </screen>
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
1026 <screen>
1027 All of PostgreSQL is successfully made. Ready to install.
1028 </screen>
1029    </para>
1030   </step>
1031
1032   <step>
1033    <title>Regression Tests</title>
1034
1035    <indexterm>
1036     <primary>regression test</primary>
1037    </indexterm>
1038
1039    <para>
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
1044     to. Type
1045 <screen>
1046 <userinput>gmake check</userinput>
1047 </screen>
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.
1055    </para>
1056   </step>
1057
1058   <step id="install">
1059    <title>Installing The Files</title>
1060
1061    <note>
1062     <para>
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.
1067     </para>
1068    </note>
1069
1070    <para>
1071     To install <productname>PostgreSQL</> enter
1072 <screen>
1073 <userinput>gmake install</userinput>
1074 </screen>
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
1080     be granted.
1081    </para>
1082
1083    <para>
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.
1094    </para>
1095
1096    <para>
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.)
1103    </para>
1104
1105    <formalpara>
1106     <title>Client-only installation:</title>
1107     <para>
1108      If you want to install only the client applications and
1109      interface libraries, then you can use these commands:
1110 <screen>
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</>
1115 </screen>
1116     </para>
1117    </formalpara>
1118   </step>
1119   </procedure>
1120
1121   <formalpara>
1122    <title>Registering <application>eventlog</> on <systemitem 
1123    class="osname">Windows</>:</title>
1124    <para>
1125     To register a <systemitem class="osname">Windows</> <application>eventlog</>
1126     library with the operating system, issue this command after installation:
1127 <screen>
1128 <userinput>regsvr32 <replaceable>pgsql_library_directory</>/pgevent.dll</>
1129 </screen>
1130     This creates registry entries used by the event viewer.
1131    </para>
1132   </formalpara>
1133
1134   <formalpara>
1135    <title>Uninstallation:</title>
1136    <para>
1137     To undo the installation use the command <command>gmake
1138     uninstall</>. However, this will not remove any created directories.
1139    </para>
1140   </formalpara>
1141
1142   <formalpara>
1143    <title>Cleaning:</title>
1144
1145    <para>
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.)
1156    </para>
1157   </formalpara>
1158
1159   <para>
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.
1166   </para>
1167  </sect1>
1168
1169  <sect1 id="install-post">
1170   <title>Post-Installation Setup</title>
1171
1172   <sect2>
1173    <title>Shared Libraries</title>
1174
1175    <indexterm>
1176     <primary>shared library</primary>
1177    </indexterm>
1178
1179    <para>
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</>.
1191    </para>
1192
1193    <para>
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</>)
1198 <programlisting>
1199 LD_LIBRARY_PATH=/usr/local/pgsql/lib
1200 export LD_LIBRARY_PATH
1201 </programlisting>
1202     or in <command>csh</> or <command>tcsh</>
1203 <programlisting>
1204 setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
1205 </programlisting>
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
1211     be found at <ulink
1212     url="http://www.visi.com/~barr/ldpath.html"></ulink>.
1213    </para>
1214
1215    <para>
1216     On some systems it might be preferable to set the environment
1217     variable <envar>LD_RUN_PATH</envar> <emphasis>before</emphasis>
1218     building.
1219    </para>
1220
1221    <para>
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>
1225     directory.
1226    </para>
1227
1228    <para>
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
1232 <screen>
1233 psql: error in loading shared libraries
1234 libpq.so.2.1: cannot open shared object file: No such file or directory
1235 </screen>
1236     then this step was necessary.  Simply take care of it then.
1237    </para>
1238
1239    <para>
1240     <indexterm>
1241      <primary>ldconfig</primary>
1242     </indexterm>
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
1246 <programlisting>
1247 /sbin/ldconfig /usr/local/pgsql/lib
1248 </programlisting>
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
1255 <programlisting>
1256 /sbin/ldconfig -m /usr/local/pgsql/lib
1257 </programlisting>
1258     instead.  Other systems are not known to have an equivalent
1259     command.
1260    </para>
1261   </sect2>
1262
1263   <sect2>
1264    <title>Environment Variables</title>
1265
1266    <indexterm>
1267     <primary><envar>PATH</envar></primary>
1268    </indexterm>
1269
1270    <para>
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.
1278    </para>
1279
1280    <para>
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):
1284 <programlisting>
1285 PATH=/usr/local/pgsql/bin:$PATH
1286 export PATH
1287 </programlisting>
1288     If you are using <command>csh</> or <command>tcsh</>, then use this command:
1289 <programlisting>
1290 set path = ( /usr/local/pgsql/bin $path )
1291 </programlisting>
1292    </para>
1293
1294    <para>
1295     <indexterm>
1296      <primary><envar>MANPATH</envar></primary>
1297     </indexterm>
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.
1302 <programlisting>
1303 MANPATH=/usr/local/pgsql/man:$MANPATH
1304 export MANPATH
1305 </programlisting>
1306    </para>
1307
1308    <para>
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.
1316    </para>
1317   </sect2>
1318  </sect1>
1319
1320
1321 <![%standalone-include;[
1322  <sect1 id="install-getting-started">
1323   <title>Getting Started</title>
1324
1325   <para>
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.
1328   </para>
1329
1330   <procedure>
1331    <step>
1332     <para>
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
1339      will not work.
1340 <screen>
1341 <userinput>adduser postgres</>
1342 </screen>
1343     </para>
1344    </step>
1345
1346    <step>
1347     <para>
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
1351      root.
1352 <screen>
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</>
1357 </screen>
1358     </para>
1359
1360     <para>
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
1366      illustrated here.
1367     </para>
1368    </step>
1369
1370    <step>
1371     <para>
1372      The previous step should have told you how to start up the
1373      database server. Do so now. The command should look something
1374      like
1375 <programlisting>
1376 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
1377 </programlisting>
1378      This will start the server in the foreground. To put the server
1379      in the background use something like
1380 <programlisting>
1381 nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
1382     &lt;/dev/null &gt;&gt;server.log 2&gt;&amp;1 &lt;/dev/null &amp;
1383 </programlisting>
1384     </para>
1385
1386     <para>
1387      To stop a server running in the background you can type
1388 <programlisting>
1389 kill `cat /usr/local/pgsql/data/postmaster.pid`
1390 </programlisting>
1391     </para>
1392
1393     <para>
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</>.
1397     </para>
1398    </step>
1399
1400    <step>
1401     <para>
1402      Create a database:
1403 <screen>
1404 <userinput>createdb testdb</>
1405 </screen>
1406      Then enter
1407 <screen>
1408 <userinput>psql testdb</>
1409 </screen>
1410      to connect to that database. At the prompt you can enter SQL
1411      commands and start experimenting.
1412     </para>
1413    </step>
1414   </procedure>
1415  </sect1>
1416
1417  <sect1 id="install-whatnow">
1418   <title>What Now?</title>
1419
1420   <para>
1421    <itemizedlist>
1422     <listitem>
1423      <para>
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.
1430      </para>
1431
1432      <para>
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.
1439      </para>
1440     </listitem>
1441
1442     <listitem>
1443      <para>
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.
1447      </para>
1448     </listitem>
1449
1450     <listitem>
1451      <para>
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.
1456      </para>
1457     </listitem>
1458
1459     <listitem>
1460      <para>
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
1469       performance.
1470      </para>
1471     </listitem>
1472    </itemizedlist>
1473   </para>
1474  </sect1>
1475 ]]>
1476
1477
1478  <sect1 id="supported-platforms">
1479   <title>Supported Platforms</title>
1480
1481   <para>
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
1492    expect to work.
1493   </para>
1494
1495   <note>
1496    <para>
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
1500     listed here.
1501    </para>
1502   </note>
1503
1504     <informaltable>
1505      <tgroup cols="5">
1506       <thead>
1507        <row>
1508         <entry><acronym>OS</acronym></entry>
1509         <entry>Processor</entry>
1510         <entry>Version</entry>
1511         <entry>Reported</entry>
1512         <entry>Remarks</entry>
1513        </row>
1514       </thead>
1515       <tbody>
1516        <row>
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>
1522        </row>
1523        <row>
1524         <entry><systemitem class="osname">AIX</></entry>
1525         <entry><systemitem>RS6000</></entry>
1526         <entry>8.0.0</entry>
1527         <entry>Hans-J&uuml;rgen Sch&ouml;nig (<email>hs@cybertec.at</email>), 2004-12-06</entry>
1528         <entry>see also <filename>doc/FAQ_AIX</filename></entry>
1529        </row>
1530        <row>
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>
1536        </row>
1537        <row>
1538         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1539         <entry><systemitem>Alpha</></entry>
1540         <entry>7.4</entry>
1541         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2003-10-25</entry>
1542         <entry></entry>
1543        </row>
1544        <row>
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>
1550        </row>
1551        <row>
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>
1556         <entry></entry>
1557        </row>
1558        <row>
1559         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1560         <entry><systemitem>IA64</></entry>
1561         <entry>7.4</entry>
1562         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2003-10-25</entry>
1563         <entry></entry>
1564        </row>
1565        <row>
1566         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1567         <entry><systemitem>m68k</></entry>
1568         <entry>8.0.0</entry>
1569         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2004-12-09</entry>
1570         <entry>sid</entry>
1571        </row>
1572        <row>
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>
1578        </row>
1579        <row>
1580         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1581         <entry><systemitem>PA-RISC</></entry>
1582         <entry>8.0.0</entry>
1583         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2004-12-07</entry>
1584         <entry>sid</entry>
1585      </row>
1586        <row>
1587         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1588         <entry><systemitem>PowerPC</></entry>
1589         <entry>8.0.0</entry>
1590         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2004-12-15</entry>
1591         <entry>sid</entry>
1592        </row>
1593        <row>
1594         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1595         <entry><systemitem>S/390</></entry>
1596         <entry>7.4</entry>
1597         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2003-10-25</entry>
1598         <entry></entry>
1599        </row>
1600        <row>
1601         <entry><systemitem class="osname">Debian GNU/Linux</></entry>
1602         <entry><systemitem>Sparc</></entry>
1603         <entry>8.0.0</entry>
1604         <entry>No&egrave;l K&ouml;the (<email>noel@debian.org</email>), 2004-12-09</entry>
1605         <entry>sid, 32-bit</entry>
1606        </row>
1607        <row>
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>
1613        </row>
1614        <row>
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>
1619         <entry>FC3</entry>
1620        </row>
1621        <row>
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>
1626         <entry>FC1</entry>
1627        </row>
1628        <row>
1629         <entry><systemitem class="osname">FreeBSD</></entry>
1630         <entry><systemitem>Alpha</></entry>
1631         <entry>7.4</entry>
1632         <entry>Peter Eisentraut (<email>peter_e@gmx.net</email>), 2003-10-25</entry>
1633         <entry>4.8</entry>
1634        </row>
1635        <row>
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>
1641         <entry></entry>
1642        </row>
1643        <row>
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>
1648         <entry></entry>
1649        </row>
1650        <row>
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>
1655         <entry></entry>
1656        </row>
1657        <row>
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>
1663        </row>
1664        <row>
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>
1670        </row>
1671        <row>
1672         <entry><systemitem class="osname">IRIX</></entry>
1673         <entry><systemitem>MIPS</></entry>
1674         <entry>7.4</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>
1677        </row>
1678        <row>
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>
1684        </row>
1685        <row>
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>
1690         <entry>10.0</entry>
1691        </row>
1692        <row>
1693         <entry><systemitem class="osname">NetBSD</></entry>
1694         <entry><systemitem>arm32</></entry>
1695         <entry>7.4</entry>
1696         <entry>Patrick Welche (<email>prlw1@newn.cam.ac.uk</email>), 2003-11-12</entry>
1697         <entry>1.6ZE/acorn32</entry>
1698        </row>
1699        <row>
1700         <entry><systemitem class="osname">NetBSD</></entry>
1701         <entry><systemitem>m68k</></entry>
1702         <entry>8.0.0</entry>
1703         <entry>R&eacute;mi Zara (<email>remi_zara@mac.com</email>), 2004-12-14</entry>
1704         <entry>2.0</entry>
1705        </row>
1706        <row>
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>
1712        </row>
1713        <row>
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>
1718         <entry>1.6</entry>
1719        </row>
1720        <row>
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>
1725         <entry>3.3</entry>
1726        </row>
1727        <row>
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>
1732         <entry>3.6</entry>
1733        </row>
1734        <row>
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>
1739         <entry>3.6</entry>
1740        </row>
1741        <row>
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>
1747        </row>
1748        <row>
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>
1754        </row>
1755        <row>
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>
1761        </row>
1762        <row>
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>
1768        </row>
1769        <row>
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>
1775        </row>
1776        <row>
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>
1782        </row>
1783        <row>
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>
1789        </row>
1790        <row>
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>
1796        </row>
1797        <row>
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>
1804        </row>
1805        <row>
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>
1811        </row>
1812        <row>
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>
1818        </row>
1819        <row>
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>
1825        </row>
1826        <row>
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>
1832        </row>
1833        <row>
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>
1839        </row>
1840        <row>
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>
1846        </row>
1847        <row>
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>
1853        </row>
1854        <row>
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>
1859         <entry>5.0</entry>
1860        </row>
1861        <row>
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>
1867        </row>
1868        <row>
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>
1874        </row>
1875        <row>
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>
1881        </row>
1882       </tbody>
1883      </tgroup>
1884     </informaltable>
1885
1886   <formalpara>
1887    <title>Unsupported Platforms:</title>
1888    <para>
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.
1893    </para>
1894   </formalpara>
1895
1896   <informaltable>
1897    <tgroup cols="5">
1898     <thead>
1899      <row>
1900       <entry><acronym>OS</acronym></entry>
1901       <entry>Processor</entry>
1902       <entry>Version</entry>
1903       <entry>Reported</entry>
1904       <entry>Remarks</entry>
1905      </row>
1906     </thead>
1907
1908     <tbody>
1909      <row>
1910       <entry><systemitem class="osname">BeOS</></entry>
1911       <entry><systemitem>x86</></entry>
1912       <entry>7.2</entry>
1913       <entry>Cyril Velter (<email>cyril.velter@libertysurf.fr</email>), 2001-11-29</entry>
1914       <entry>needs updates to semaphore code</entry>
1915      </row>
1916      <row>
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>
1922      </row>
1923      <row>
1924       <entry><systemitem class="osname">NetBSD</></entry>
1925       <entry><systemitem>Alpha</></entry>
1926       <entry>7.2</entry>
1927       <entry>Thomas Thai (<email>tom@minnesota.com</email>), 2001-11-20</entry>
1928       <entry>1.5W</entry>
1929      </row>
1930      <row>
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>
1936      </row>
1937      <row>
1938       <entry><systemitem class="osname">NetBSD</></entry>
1939       <entry><systemitem>PowerPC</></entry>
1940       <entry>7.2</entry>
1941       <entry>Bill Studenmund (<email>wrstuden@netbsd.org</email>), 2001-11-28</entry>
1942       <entry>1.5</entry>
1943      </row>
1944      <row>
1945       <entry><systemitem class="osname">NetBSD</></entry>
1946       <entry><systemitem>VAX</></entry>
1947       <entry>7.1</entry>
1948       <entry>Tom I. Helbekkmo (<email>tih@kpnQwest.no</email>), 2001-03-30</entry>
1949       <entry>1.5</entry>
1950      </row>
1951      <row>
1952       <entry><systemitem class="osname">QNX 4 RTOS</></entry>
1953       <entry><systemitem>x86</></entry>
1954       <entry>7.2</entry>
1955       <entry>Bernd Tegge (<email>tegge@repas-aeg.de</email>), 2001-12-10
1956       </entry>
1957       <entry>needs updates to semaphore code;
1958        see also <filename>doc/FAQ_QNX4</filename></entry>
1959      </row>
1960      <row>
1961       <entry><systemitem class="osname">QNX RTOS v6</></entry>
1962       <entry><systemitem>x86</></entry>
1963       <entry>7.2</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>
1966      </row>
1967      <row>
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>
1973      </row>
1974      <row>
1975       <entry><systemitem class="osname">SunOS 4</></entry>
1976       <entry><systemitem>Sparc</></entry>
1977       <entry>7.2</entry>
1978       <entry>Tatsuo Ishii (<email>t-ishii@sra.co.jp</email>), 2001-12-04</entry>
1979       <entry></entry>
1980      </row>
1981     </tbody>
1982    </tgroup>
1983   </informaltable>
1984  </sect1>
1985
1986 </chapter>
1987
1988 <!-- Keep this comment at the end of the file
1989 Local variables:
1990 mode:sgml
1991 sgml-omittag:nil
1992 sgml-shorttag:t
1993 sgml-minimize-attributes:nil
1994 sgml-always-quote-attributes:t
1995 sgml-indent-step:1
1996 sgml-indent-tabs-mode:nil
1997 sgml-indent-data:t
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
2003 End:
2004 -->