Adjust documention for Win32 installation options.
authorBruce Momjian
Fri, 24 Dec 2004 18:32:50 +0000 (18:32 +0000)
committerBruce Momjian
Fri, 24 Dec 2004 18:32:50 +0000 (18:32 +0000)
doc/src/sgml/install-win32.sgml
doc/src/sgml/installation.sgml

index 821dbcc102fd8f4559a8db3fe8023f4858600405..4afff62dc1a614e5be36f7593d5e69a9813319ed 100644 (file)
@@ -1,9 +1,9 @@
 
 
 
Installation on <productname>Windows</productname>
<span class="marked">Client-Only </span>Installation on <productname>Windows</productname>
 
  
   installation
@@ -12,8 +12,9 @@ $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.18 2004/09/27 19:43:17 mo
 
  
   Although PostgreSQL is written for
-  Unix-like operating systems and compiles under
-  MinGW, the C client library
+  Unix-like operating systems and can be built using
+  MinGW and
+  Cygwin, the C client library
   (libpq) and the interactive terminal
   (psql) can be compiled using other Windows
   tool sets. Makefiles are included in the source distribution for
index 0b62905b1a8de776adfccc0c8fc64959f25d7a1f..714919824855639c04a267889dae22b957048100 100644 (file)
-
-
-
<![%standalone-include[<productname>PostgreSQL</>]]></div> <div class="diff rem">-  Installation Instructions
-
-  installation
-
-  This 
-   describes the installation of
-  PostgreSQL from the source code
-  distribution.
-
-  Short Version
-
-  
-
-./configure
-gmake
-su
-gmake install
-adduser postgres
-mkdir /usr/local/pgsql/data
-chown postgres /usr/local/pgsql/data
-su - postgres
-/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
-/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
-/usr/local/pgsql/bin/createdb test
-/usr/local/pgsql/bin/psql test
-
-   The long version is the rest of this
-   
-   
-  
-
-
-  Requirements
-
-  
-   In general, a modern Unix-compatible platform should be able to run
-   PostgreSQL.
-    The platforms that had received specific testing at the
-   time of release are listed in 
-   below. In the doc subdirectory of the distribution
-   there are several platform-specific FAQ documents you
-   might wish to consult if you are having trouble.
-  
-
-  
-   The following software packages are required for building
-   PostgreSQL:
-
-   
-    
-     
-      
-       make
-      
-
-      GNU make is required; other
-      make programs will not work.
-      GNU make is often installed under
-      the name gmake; this document will always
-      refer to it by that name. (On some systems
-      GNU make is the default tool with the name
-      make.) To test for GNU
-      make enter
-
-gmake --version
-
-      It is recommended to use version 3.76.1 or later.
-     
-    
-
-    
-     
-      You need an ISO/ANSI C compiler. Recent
-      versions of GCC are recommendable, but
-      PostgreSQL is known to build with a wide variety
-      of compilers from different vendors.
-     
-    
-
-    
-     
-      gzip is needed to unpack the distribution in the
-      first place.
-      past that hurdle.]]>
-     
-    
-
-    
-     
-      
-       readline
-      
-
-      The GNU Readline library (for
-      comfortable line editing and command history retrieval) will be
-      used by default.  If you don't want to use it then you must
-      specify the  option for
-      configure.  (On NetBSD,
-      the libedit library is
-      Readline-compatible and is used if
-      libreadline is not found.)
-     
-    
-
-    
-     
-      
-       installation
-       on Windows
-      
-
-      To build on Windows platforms see
-      
-      ]]>.
-     
-    
-   
-  
-
-  
-   The following packages are optional.  They are not required in the
-   default configuration, but they are needed when certain build
-   options are enabled, as explained below.
-
-   
-    
-     
-      To build the server programming language
-      PL/Perl you need a full
-      Perl installation, including the
-      libperl library and the header files.
-      Since PL/Perl will be a shared
-      library, the libperl
-      libperl library must be a shared library
-      also on most platforms.  This appears to be the default in
-      recent Perl versions, but it was not
-      in earlier versions, and in general it is the choice of whomever
-      installed Perl at your site.
-     
-
-     
-      If you don't have the shared library but you need one, a message
-      like this will appear during the build to point out this fact:
-
-*** Cannot build PL/Perl because libperl is not a shared library.
-*** You might have to rebuild your Perl installation.  Refer to
-*** the documentation for details.
-
-      (If you don't follow the on-screen output you will merely notice
-      that the PL/Perl library object,
-      plperl.so or similar, will not be
-      installed.)  If you see this, you will have to rebuild and
-      install Perl manually to be able to
-      build PL/Perl.  During the
-      configuration process for Perl,
-      request a shared library.
-     
-    
-
-    
-     
-      To build the PL/Python server programming
-      language, you need a Python
-      installation with the header files and the distutils module.
-      The distutils module is included by default with
-      Python 1.6 and later; users of
-      earlier versions of Python will need
-      to install it.
-     
-
-     
-      Since PL/Python will be a shared
-      library, the libpython
-      libpython library must be a shared library
-      also on most platforms.  This is not the case in a default
-      Python installation.  If after
-      building and installing you have a file called
-      plpython.so (possibly a different
-      extension), then everything went well.  Otherwise you should
-      have seen a notice like this flying by:
-
-*** Cannot build PL/Python because libpython is not a shared library.
-*** You might have to rebuild your Python installation.  Refer to
-*** the documentation for details.
-
-      That means you have to rebuild (part of) your
-      Python installation to supply this
-      shared library.
-     
-
-     
-      If you have problems, run Python 2.3 or later's
-      configure using the --enable-shared flag.  On some
-      operating systems you don't have to build a shared library, but
-      you will have to convince the PostgreSQL build
-      system of this.  Consult the Makefile in
-      the src/pl/plpython directory for details.
-     
-    
-
-    
-     
-      If you want to build the PL/Tcl
-      procedural language, you of course need a Tcl installation.
-     
-    
-
-    
-     
-      To enable Native Language Support (NLS), that
-      is, the ability to display a program's messages in a language
-      other than English, you need an implementation of the
-      Gettext API.  Some operating
-      systems have this built-in (e.g., 
-      class="osname">Linux, NetBSD,
-      Solaris), for other systems you
-      can download an add-on package from here: 
-      url="http://developer.postgresql.org/~petere/bsd-gettext/" >.
-      If you are using the Gettext implementation in
-      the GNU C library then you will additionally
-      need the GNU Gettext package for some
-      utility programs.  For any of the other implementations you will
-      not need it.
-     
-    
-
-    
-     
-      Kerberos, OpenSSL, or PAM,
-      if you want to support authentication using these services.
-     
-    
-   
-  
-
-  
-   If you are building from a CVS tree instead of
-   using a released source package, or if you want to do development,
-   you also need the following packages:
-
-   
-    
-     
-      
-       flex
-      
-      
-       bison
-      
-      
-       yacc
-      
-
-      Flex and Bison
-      are needed to build a CVS checkout or if you changed the actual
-      scanner and parser definition files. If you need them, be sure
-      to get Flex 2.5.4 or later and
-      Bison 1.875 or later. Other yacc
-      programs can sometimes be used, but doing so requires extra
-      effort and is not recommended. Other lex
-      programs will definitely not work.
-     
-    
-   
-  
-
-  
-   If you need to get a GNU package, you can find
-   it at your local GNU mirror site (see 
-   url="http://www.gnu.org/order/ftp.html">
-   for a list) or at 
-   url="ftp://ftp.gnu.org/gnu/">.
-  
-
-  
-   Also check that you have sufficient disk space. You will need about
-   65 MB for the source tree during compilation and about 15 MB for
-   the installation directory. An empty database cluster takes about
-   25 MB, databases take about five times the amount of space that a
-   flat text file with the same data would take. If you are going to
-   run the regression tests you will temporarily need up to an extra
-   90 MB. Use the df command to check for disk
-   space.
-  
-
-
-  Getting The Source
-
-  
-   The PostgreSQL &version; sources can be obtained by
-   anonymous FTP from 
-   url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz">.
-   Use a mirror if possible. After you have obtained the file, unpack it:
-
-gunzip postgresql-&version;.tar.gz
-tar xf postgresql-&version;.tar
-
-   This will create a directory
-   postgresql-&version; under the current directory
-   with the PostgreSQL sources.
-   Change into that directory for the rest
-   of the installation procedure.
-  
-]]>
-
-  If You Are Upgrading
-
-  
-   upgrading
-  
-
-  
-   The internal data storage format changes with new releases of
-   PostgreSQL. Therefore, if you are upgrading an
-   existing installation that does not have a version number
-   &majorversion;.x, you must back up and restore your
-   data as shown here. These instructions assume that your existing
-   installation is under the /usr/local/pgsql directory,
-   and that the data area is in /usr/local/pgsql/data.
-   Substitute your paths appropriately.
-  
-
-  
-   
-    
-     Make sure that your database is not updated during or after the
-     backup. This does not affect the integrity of the backup, but the
-     changed data would of course not be included. If necessary, edit
-     the permissions in the file
-     /usr/local/pgsql/data/pg_hba.conf (or equivalent) to
-     disallow access from everyone except you.
-    
-   
-
-   
-    
-     
-      pg_dumpall
-      use during upgrade
-     
-
-     To back up your database installation, type:
-
-pg_dumpall > outputfile
-
-     If you need to preserve OIDs (such as when using them as
-     foreign keys), then use the  option when running
-     pg_dumpall.
-    
-
-    
-     pg_dumpall does not
-     save large objects.  Check
-     
-     ]]>
-     if you need to do this.
-    
-
-    
-     To make the backup, you can use the pg_dumpall
-     command from the version you are currently running.  For best
-     results, however, try to use the pg_dumpall
-     command from PostgreSQL &version;,
-     since this version contains bug fixes and improvements over older
-     versions.  While this advice might seem idiosyncratic since you
-     haven't installed the new version yet, it is advisable to follow
-     it if you plan to install the new version in parallel with the
-     old version.  In that case you can complete the installation
-     normally and transfer the data later.  This will also decrease
-     the downtime.
-    
-   
-
-   
-    
-     If you are installing the new version at the same location as the
-     old one then shut down the old server, at the latest before you
-     install the new files:
-
-kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`
-
-     Versions prior to 7.0 do not have this
-     postmaster.pid file. If you are using such a version
-     you must find out the process ID of the server yourself, for
-     example by typing ps ax | grep postmaster, and
-     supply it to the kill command.
-    
-
-    
-     On systems that have PostgreSQL started at boot time, there is
-     probably a start-up file that will accomplish the same thing. For
-     example, on a Red Hat Linux system one might find that
-
-/etc/rc.d/init.d/postgresql stop
-
-     works.  Another possibility is pg_ctl stop.
-    
-   
-
-   
-    
-     If you are installing in the same place as the old version then
-     it is also a good idea to move the old installation out of the
-     way, in case you have trouble and need to revert to it.
-     Use a command like this:
-
-mv /usr/local/pgsql /usr/local/pgsql.old
-
-    
-   
-  
-
-  
-   After you have installed PostgreSQL &version;, create a new database
-   directory and start the new server. Remember that you must execute
-   these commands while logged in to the special database user account
-   (which you already have if you are upgrading).
-
-/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
-/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
-
-   Finally, restore your data with
-
-/usr/local/pgsql/bin/psql -d template1 -f outputfile
-
-   using the new psql.
-  
-
-  
-   These topics are discussed at length in 
-   documentation,]]> 
-   linkend="migration">,]]> which you are encouraged to read in any
-   case.
-  
-
-
-  Installation Procedure
-
-  
-
-  
-   Configuration</></div> <div class="diff rem">-</div> <div class="diff rem">-   <indexterm zone="configure"></div> <div class="diff rem">-    <primary>configure</primary></div> <div class="diff rem">-   </indexterm></div> <div class="diff rem">-</div> <div class="diff rem">-   <para></div> <div class="diff rem">-    The first step of the installation procedure is to configure the</div> <div class="diff rem">-    source tree for your system and choose the options you would like.</div> <div class="diff rem">-    This is done by running the <filename>configure</> script. For a</div> <div class="diff rem">-    default installation simply enter</div> <div class="diff rem">-<screen></div> <div class="diff rem">-<userinput>./configure</userinput></div> <div class="diff rem">-</screen></div> <div class="diff rem">-    This script will run a number of tests to guess values for various</div> <div class="diff rem">-    system dependent variables and detect some quirks of your</div> <div class="diff rem">-    operating system, and finally will create several files in the</div> <div class="diff rem">-    build tree to record what it found.  (You can also run</div> <div class="diff rem">-    <filename>configure</filename> in a directory outside the source</div> <div class="diff rem">-    tree if you want to keep the build directory separate.)</div> <div class="diff rem">-   </para></div> <div class="diff rem">-</div> <div class="diff rem">-   <para></div> <div class="diff rem">-    The default configuration will build the server and utilities, as</div> <div class="diff rem">-    well as all client applications and interfaces that require only a</div> <div class="diff rem">-    C compiler. All files will be installed under</div> <div class="diff rem">-    <filename>/usr/local/pgsql</> by default.</div> <div class="diff rem">-   </para></div> <div class="diff rem">-</div> <div class="diff rem">-   <para></div> <div class="diff rem">-    You can customize the build and installation process by supplying one</div> <div class="diff rem">-    or more of the following command line options to</div> <div class="diff rem">-    <filename>configure</filename>:</div> <div class="diff rem">-</div> <div class="diff rem">-     <variablelist></div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--prefix=<replaceable>PREFIX</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Install all files under the directory <replaceable>PREFIX</></div> <div class="diff rem">-         instead of <filename>/usr/local/pgsql</filename>. The actual</div> <div class="diff rem">-         files will be installed into various subdirectories; no files</div> <div class="diff rem">-         will ever be installed directly into the</div> <div class="diff rem">-         <replaceable>PREFIX</> directory.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-</div> <div class="diff rem">-        <para></div> <div class="diff rem">-         If you have special needs, you can also customize the</div> <div class="diff rem">-         individual subdirectories with the following options. However,</div> <div class="diff rem">-         if you leave these with their defaults, the installation will be</div> <div class="diff rem">-         relocatable, meaning you can move the directory after</div> <div class="diff rem">-         installation. (The <literal>man</> and <literal>doc</></div> <div class="diff rem">-         locations are not affected by this.)</div> <div class="diff rem">-        </para></div> <div class="diff rem">-</div> <div class="diff rem">-        <para></div> <div class="diff rem">-         For relocatable installs, you might want to use </div> <div class="diff rem">-         <filename>configure</filename>'s <literal>--disable-rpath</></div> <div class="diff rem">-         option.  Also, you will need to tell the operating system how</div> <div class="diff rem">-         to find the shared libraries.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--exec-prefix=<replaceable>EXEC-PREFIX</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         You can install architecture-dependent files under a</div> <div class="diff rem">-         different prefix, <replaceable>EXEC-PREFIX</>, than what</div> <div class="diff rem">-         <replaceable>PREFIX</> was set to. This can be useful to</div> <div class="diff rem">-         share architecture-independent files between hosts. If you</div> <div class="diff rem">-         omit this, then <replaceable>EXEC-PREFIX</> is set equal to</div> <div class="diff rem">-         <replaceable>PREFIX</> and both architecture-dependent and</div> <div class="diff rem">-         independent files will be installed under the same tree,</div> <div class="diff rem">-         which is probably what you want.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--bindir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Specifies the directory for executable programs. The default</div> <div class="diff rem">-         is <filename><replaceable>EXEC-PREFIX</>/bin</>, which</div> <div class="diff rem">-         normally means <filename>/usr/local/pgsql/bin</>.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--datadir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Sets the directory for read-only data files used by the</div> <div class="diff rem">-         installed programs. The default is</div> <div class="diff rem">-         <filename><replaceable>PREFIX</>/share</>. Note that this has</div> <div class="diff rem">-         nothing to do with where your database files will be placed.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--sysconfdir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         The directory for various configuration files,</div> <div class="diff rem">-         <filename><replaceable>PREFIX</>/etc</> by default.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--libdir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         The location to install libraries and dynamically loadable</div> <div class="diff rem">-         modules. The default is</div> <div class="diff rem">-         <filename><replaceable>EXEC-PREFIX</>/lib</>.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--includedir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         The directory for installing C and C++ header files. The</div> <div class="diff rem">-         default is <filename><replaceable>PREFIX</>/include</>.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--mandir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         The man pages that come with <productname>PostgreSQL</> will be installed under</div> <div class="diff rem">-         this directory, in their respective</div> <div class="diff rem">-         <filename>man<replaceable>x</></> subdirectories.</div> <div class="diff rem">-         The default is <filename><replaceable>PREFIX</>/man</>.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-docdir=<replaceable>DIRECTORY</></option></term></div> <div class="diff rem">-       <term><option>--without-docdir</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Documentation files, except <quote>man</> pages, will be</div> <div class="diff rem">-         installed into this directory. The default is</div> <div class="diff rem">-         <filename><replaceable>PREFIX</>/doc</>.  If the option</div> <div class="diff rem">-         <option>--without-docdir</option> is specified, the</div> <div class="diff rem">-         documentation will not be installed by <command>make</div> <div class="diff rem">-         install</command>.  This is intended for packaging scripts</div> <div class="diff rem">-         that have special methods for installing documentation.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-     </variablelist></div> <div class="diff rem">-</div> <div class="diff rem">-     <note></div> <div class="diff rem">-      <para></div> <div class="diff rem">-       Care has been taken to make it possible to install</div> <div class="diff rem">-       <productname>PostgreSQL</> into shared installation locations</div> <div class="diff rem">-       (such as <filename>/usr/local/include</filename>) without</div> <div class="diff rem">-       interfering with the namespace of the rest of the system. First,</div> <div class="diff rem">-       the string <quote><literal>/postgresql</literal></quote> is</div> <div class="diff rem">-       automatically appended to <varname>datadir</varname>,</div> <div class="diff rem">-       <varname>sysconfdir</varname>, and <varname>docdir</varname>,</div> <div class="diff rem">-       unless the fully expanded directory name already contains the</div> <div class="diff rem">-       string <quote><literal>postgres</></quote> or</div> <div class="diff rem">-       <quote><literal>pgsql</></quote>. For example, if you choose</div> <div class="diff rem">-       <filename>/usr/local</filename> as prefix, the documentation will</div> <div class="diff rem">-       be installed in <filename>/usr/local/doc/postgresql</filename>,</div> <div class="diff rem">-       but if the prefix is <filename>/opt/postgres</filename>, then it</div> <div class="diff rem">-       will be in <filename>/opt/postgres/doc</filename>. The public C</div> <div class="diff rem">-       header files of the client interfaces are installed into</div> <div class="diff rem">-       <varname>includedir</varname> and are namespace-clean. The</div> <div class="diff rem">-       internal header files and the server header files are installed</div> <div class="diff rem">-       into private directories under <varname>includedir</varname>. See</div> <div class="diff rem">-       the documentation of each interface for information about how to</div> <div class="diff rem">-       get at the its header files. Finally, a private subdirectory will</div> <div class="diff rem">-       also be created, if appropriate, under <varname>libdir</varname></div> <div class="diff rem">-       for dynamically loadable modules.</div> <div class="diff rem">-      </para></div> <div class="diff rem">-     </note></div> <div class="diff rem">-    </para></div> <div class="diff rem">-</div> <div class="diff rem">-    <para></div> <div class="diff rem">-     <variablelist></div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-includes=<replaceable>DIRECTORIES</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         <replaceable>DIRECTORIES</> is a colon-separated list of</div> <div class="diff rem">-         directories that will be added to the list the compiler</div> <div class="diff rem">-         searches for header files. If you have optional packages</div> <div class="diff rem">-         (such as GNU <application>Readline</>) installed in a non-standard</div> <div class="diff rem">-         location,</div> <div class="diff rem">-         you have to use this option and probably also the corresponding</div> <div class="diff rem">-         <option>--with-libraries</> option.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Example: <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-libraries=<replaceable>DIRECTORIES</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         <replaceable>DIRECTORIES</> is a colon-separated list of</div> <div class="diff rem">-         directories to search for libraries. You will probably have</div> <div class="diff rem">-         to use this option (and the corresponding</div> <div class="diff rem">-         <option>--with-includes</> option) if you have packages</div> <div class="diff rem">-         installed in non-standard locations.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Example: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Enables Native Language Support (<acronym>NLS</acronym>),</div> <div class="diff rem">-         that is, the ability to display a program's messages in a</div> <div class="diff rem">-         language other than English.</div> <div class="diff rem">-         <replaceable>LANGUAGES</replaceable> is a space separated</div> <div class="diff rem">-         list of codes of the languages that you want supported, for</div> <div class="diff rem">-         example <literal>--enable-nls='de fr'</>.  (The intersection</div> <div class="diff rem">-         between your list and the set of actually provided</div> <div class="diff rem">-         translations will be computed automatically.)  If you do not</div> <div class="diff rem">-         specify a list, then all available translations are</div> <div class="diff rem">-         installed.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-</div> <div class="diff rem">-        <para></div> <div class="diff rem">-         To use this option, you will need an implementation of the</div> <div class="diff rem">-         <application>Gettext</> API; see above.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-pgport=<replaceable>NUMBER</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Set <replaceable>NUMBER</> as the default port number for</div> <div class="diff rem">-         server and clients. The default is 5432. The port can always</div> <div class="diff rem">-         be changed later on, but if you specify it here then both</div> <div class="diff rem">-         server and clients will have the same default compiled in,</div> <div class="diff rem">-         which can be very convenient.  Usually the only good reason</div> <div class="diff rem">-         to select a non-default value is if you intend to run multiple</div> <div class="diff rem">-         <productname>PostgreSQL</> servers on the same machine.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-perl</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build the <application>PL/Perl</> server-side language.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-python</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build the <application>PL/Python</> server-side language.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-tcl</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build the <application>PL/Tcl</> server-side language.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-tclconfig=<replaceable>DIRECTORY</replaceable></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Tcl installs the file <filename>tclConfig.sh</filename>, which</div> <div class="diff rem">-         contains configuration information needed to build modules</div> <div class="diff rem">-         interfacing to Tcl. This file is normally found automatically</div> <div class="diff rem">-         at a well-known location, but if you want to use a different</div> <div class="diff rem">-         version of Tcl you can specify the directory in which to look</div> <div class="diff rem">-         for it.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-krb4</option></term></div> <div class="diff rem">-       <term><option>--with-krb5</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build with support for Kerberos authentication. You can use</div> <div class="diff rem">-         either Kerberos version 4 or 5, but not both.  On many</div> <div class="diff rem">-         systems, the Kerberos system is not installed in a location</div> <div class="diff rem">-         that is searched by default (e.g., <filename>/usr/include</>,</div> <div class="diff rem">-         <filename>/usr/lib</>), so you must use the options</div> <div class="diff rem">-         <option>--with-includes</> and <option>--with-libraries</> in</div> <div class="diff rem">-         addition to this option.  <filename>configure</> will check</div> <div class="diff rem">-         for the required header files and libraries to make sure that</div> <div class="diff rem">-         your Kerberos installation is sufficient before proceeding.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-krb-srvnam=<replaceable>NAME</></option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         The name of the Kerberos service principal.</div> <div class="diff rem">-         <literal>postgres</literal> is the default. There's probably no</div> <div class="diff rem">-         reason to change this.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <indexterm></div> <div class="diff rem">-        <primary>OpenSSL</primary></div> <div class="diff rem">-        <seealso>SSL</seealso></div> <div class="diff rem">-       </indexterm></div> <div class="diff rem">-</div> <div class="diff rem">-       <term><option>--with-openssl</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build with support for <acronym>SSL</> (encrypted)</div> <div class="diff rem">-         connections. This requires the <productname>OpenSSL</></div> <div class="diff rem">-         package to be installed.  <filename>configure</> will check</div> <div class="diff rem">-         for the required header files and libraries to make sure that</div> <div class="diff rem">-         your <productname>OpenSSL</> installation is sufficient</div> <div class="diff rem">-         before proceeding.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-pam</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build with <acronym>PAM</><indexterm><primary>PAM</></></div> <div class="diff rem">-         (Pluggable Authentication Modules) support.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--without-readline</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Prevents the use of the <application>Readline</> library.  This disables</div> <div class="diff rem">-         command-line editing and history in</div> <div class="diff rem">-         <application>psql</application>, so it is not recommended.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--with-rendezvous</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Build with Rendezvous support.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--disable-spinlocks</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Allow the build to succeed even if <productname>PostgreSQL</></div> <div class="diff rem">-         has no CPU spinlock support for the platform.  The lack of</div> <div class="diff rem">-         spinlock support will result in poor performance; therefore,</div> <div class="diff rem">-         this option should only be used if the build aborts and</div> <div class="diff rem">-         informs you that the platform lacks spinlock support. If this</div> <div class="diff rem">-         option is required to build <productname>PostgreSQL</> on</div> <div class="diff rem">-         your platform, please report the problem to the</div> <div class="diff rem">-         <productname>PostgreSQL</> developers.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--enable-thread-safety</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Make the client libraries thread-safe.  This allows</div> <div class="diff rem">-         concurrent threads in <application>libpq</application> and</div> <div class="diff rem">-         <application>ECPG</application> programs to safely control</div> <div class="diff rem">-         their private connection handles.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--without-zlib</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Prevents the use of the <application>Zlib</> library.  This disables</div> <div class="diff rem">-         compression support in <application>pg_dump</application>.</div> <div class="diff rem">-         This option is only intended for those rare systems where this</div> <div class="diff rem">-         library is not available.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--enable-debug</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Compiles all programs and libraries with debugging symbols.</div> <div class="diff rem">-         This means that you can run the programs through a debugger</div> <div class="diff rem">-         to analyze problems. This enlarges the size of the installed</div> <div class="diff rem">-         executables considerably, and on non-GCC compilers it usually</div> <div class="diff rem">-         also disables compiler optimization, causing slowdowns. However,</div> <div class="diff rem">-         having the symbols available is extremely helpful for dealing</div> <div class="diff rem">-         with any problems that may arise.  Currently, this option is</div> <div class="diff rem">-         recommended for production installations only if you use GCC.</div> <div class="diff rem">-         But you should always have it on if you are doing development work</div> <div class="diff rem">-         or running a beta version.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--enable-cassert</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Enables <firstterm>assertion</> checks in the server, which test for</div> <div class="diff rem">-         many <quote>can't happen</> conditions.  This is invaluable for</div> <div class="diff rem">-         code development purposes, but the tests slow things down a little.</div> <div class="diff rem">-         Also, having the tests turned on won't necessarily enhance the</div> <div class="diff rem">-         stability of your server!  The assertion checks are not categorized</div> <div class="diff rem">-         for severity, and so what might be a relatively harmless bug will</div> <div class="diff rem">-         still lead to server restarts if it triggers an assertion</div> <div class="diff rem">-         failure.  Currently, this option is not recommended for</div> <div class="diff rem">-         production use, but you should have it on for development work</div> <div class="diff rem">-         or when running a beta version.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-      <varlistentry></div> <div class="diff rem">-       <term><option>--enable-depend</option></term></div> <div class="diff rem">-       <listitem></div> <div class="diff rem">-        <para></div> <div class="diff rem">-         Enables automatic dependency tracking.  With this option, the</div> <div class="diff rem">-         makefiles are set up so that all affected object files will</div> <div class="diff rem">-         be rebuilt when any header file is changed.  This is useful</div> <div class="diff rem">-         if you are doing development work, but is just wasted overhead</div> <div class="diff rem">-         if you intend only to compile once and install.  At present,</div> <div class="diff rem">-         this option will work only if you use GCC.</div> <div class="diff rem">-        </para></div> <div class="diff rem">-       </listitem></div> <div class="diff rem">-      </varlistentry></div> <div class="diff rem">-</div> <div class="diff rem">-     </variablelist></div> <div class="diff rem">-    </para></div> <div class="diff rem">-</div> <div class="diff rem">-    <para></div> <div class="diff rem">-     If you prefer a C compiler different from the one</div> <div class="diff rem">-     <filename>configure</filename> picks then you can set the</div> <div class="diff rem">-     environment variable <envar>CC</> to the program of your choice.</div> <div class="diff rem">-     By default, <filename>configure</filename> will pick</div> <div class="diff rem">-     <filename>gcc</filename> unless this is inappropriate for the</div> <div class="diff rem">-     platform.  Similarly, you can override the default compiler flags</div> <div class="diff rem">-     with the <envar>CFLAGS</envar> variable.</div> <div class="diff rem">-    </para></div> <div class="diff rem">-</div> <div class="diff rem">-    <para></div> <div class="diff rem">-     You can specify environment variables on the</div> <div class="diff rem">-     <filename>configure</filename> command line, for example:</div> <div class="diff rem">-<screen></div> <div class="diff rem">-<userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</></div> <div class="diff rem">-</screen></div> <div class="diff rem">-    </para></div> <div class="diff rem">-   </step></div> <div class="diff rem">-</div> <div class="diff rem">-  <step></div> <div class="diff rem">-   <title>Build
-
-   
-    To start the build, type
-
-gmake
-
-    (Remember to use GNU make.) The build
-    may take anywhere from 5 minutes to half an hour depending on your
-    hardware. The last line displayed should be
-
-All of PostgreSQL is successfully made. Ready to install.
-
-   
-  
-
-  
-   Regression Tests
-
-   
-    regression test
-   
-
-   
-    If you want to test the newly built server before you install it,
-    you can run the regression tests at this point. The regression
-    tests are a test suite to verify that PostgreSQL
-    runs on your machine in the way the developers expected it
-    to. Type
-
-gmake check
-
-    (This won't work as root; do it as an unprivileged user.)
-    
-    src/test/regress/README and the
-    documentation contain]]>
-     contains]]>
-    detailed information about interpreting the test results. You can
-    repeat this test at any later time by issuing the same command.
-   
-  
-
-  
-   Installing The Files
-
-   
-    
-     If you are upgrading an existing system and are going to install
-     the new files over the old ones, then you should have backed up
-     your data and shut down the old server by now, as explained in
-      above.
-    
-   
-
-   
-    To install PostgreSQL enter
-
-gmake install
-
-    This will install files into the directories that were specified
-    in . Make sure that you have appropriate
-    permissions to write into that area. Normally you need to do this
-    step as root. Alternatively, you could create the target
-    directories in advance and arrange for appropriate permissions to
-    be granted.
-   
-
-   
-    You can use gmake install-strip instead of
-    gmake install to strip the executable files and
-    libraries as they are installed.  This will save some space.  If
-    you built with debugging support, stripping will effectively
-    remove the debugging support, so it should only be done if
-    debugging is no longer needed.  install-strip
-    tries to do a reasonable job saving space, but it does not have
-    perfect knowledge of how to strip every unneeded byte from an
-    executable file, so if you want to save all the disk space you
-    possibly can, you will have to do manual work.
-   
-
-   
-    The standard installation provides all the header files needed for client
-    application development as well as for any server-side program
-    development (such as custom functions or data types written in C).
-   
-
-   
-    Client-only installation:
-    
-     If you want to install only the client applications and
-     interface libraries, then you can use these commands:
-
-gmake -C src/bin install
-gmake -C src/include install
-gmake -C src/interfaces install
-gmake -C doc install
-
-    
-   
-  
-  
-
-  
-   Registering <application>eventlog</> on <systemitem </div> <div class="diff rem">-   class="osname">Windows</>:
-   
-    To register a Windows eventlog
-    library with the operating system, issue this command after installation:
-
-regsvr32 pgsql_library_directory/pgevent.dll
-
-    This creates registry entries used by the event viewer.
-   
-  
-
-  
-   Uninstallation:
-   
-    To undo the installation use the command gmake
-    uninstall. However, this will not remove any created directories.
-   
-  
-
-  
-   Cleaning:
-
-   
-    After the installation you can make room by removing the built
-    files from the source tree with the command gmake
-    clean. This will preserve the files made by the configure
-    program, so that you can rebuild everything with gmake
-    later on. To reset the source tree to the state in which it was
-    distributed, use gmake distclean. If you are going to
-    build for several platforms from the same source tree you must do
-    this and re-configure for each build.
-   
-  
-
-  
-   If you perform a build and then discover that your configure
-   options were wrong, or if you change anything that configure
-   investigates (for example, software upgrades), then it's a good
-   idea to do gmake distclean before reconfiguring and
-   rebuilding.  Without this, your changes in configuration choices
-   may not propagate everywhere they need to.
-  
-
-  Post-Installation Setup
-
-  
-   Shared Libraries
-
-   
-    shared library
-   
-
-   
-    On some systems that have shared libraries (which most systems do)
-    you need to tell your system how to find the newly installed
-    shared libraries.  The systems on which this is
-    not necessary include 
-    class="osname">BSD/OS, FreeBSD,
-    HP-UX, 
-    class="osname">IRIX, Linux,
-    NetBSD, 
-    class="osname">OpenBSD, Tru64
-    UNIX (formerly Digital UNIX), and
-    Solaris.
-   
-
-   
-    The method to set the shared library search path varies between
-    platforms, but the most widely usable method is to set the
-    environment variable LD_LIBRARY_PATH like so: In Bourne
-    shells (sh, ksh, bash, zsh)
-
-LD_LIBRARY_PATH=/usr/local/pgsql/lib
-export LD_LIBRARY_PATH
-
-    or in csh or tcsh
-
-setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
-
-    Replace /usr/local/pgsql/lib with whatever you set
-    
-    You should put these commands into a shell start-up file such as
-    /etc/profile or ~/.bash_profile.  Some
-    good information about the caveats associated with this method can
-    be found at 
-    url="http://www.visi.com/~barr/ldpath.html">.
-   
-
-   
-    On some systems it might be preferable to set the environment
-    variable LD_RUN_PATH before
-    building.
-   
-
-   
-    On Cygwin, put the library
-    directory in the PATH or move the
-    .dll files into the bin
-    directory.
-   
-
-   
-    If in doubt, refer to the manual pages of your system (perhaps
-    ld.so or rld). If you later
-    on get a message like
-
-psql: error in loading shared libraries
-libpq.so.2.1: cannot open shared object file: No such file or directory
-
-    then this step was necessary.  Simply take care of it then.
-   
-
-   
-    
-     ldconfig
-    
-    If you are on BSD/OS, 
-    class="osname">Linux, or SunOS 4
-    and you have root access you can run
-
-/sbin/ldconfig /usr/local/pgsql/lib
-
-    (or equivalent directory) after installation to enable the
-    run-time linker to find the shared libraries faster.  Refer to the
-    manual page of ldconfig for more information.  On
-    FreeBSD, 
-    class="osname">NetBSD, and 
-    class="osname">OpenBSD the command is
-
-/sbin/ldconfig -m /usr/local/pgsql/lib
-
-    instead.  Other systems are not known to have an equivalent
-    command.
-   
-  
-
-  
-   Environment Variables
-
-   
-    PATH
-   
-
-   
-    If you installed into /usr/local/pgsql or some other
-    location that is not searched for programs by default, you should
-    add /usr/local/pgsql/bin (or whatever you set
-    
-    into your PATH.  Strictly speaking, this is not
-    necessary, but it will make the use of PostgreSQL
-    much more convenient.
-   
-
-   
-    To do this, add the following to your shell start-up file, such as
-    ~/.bash_profile (or /etc/profile, if you
-    want it to affect every user):
-
-PATH=/usr/local/pgsql/bin:$PATH
-export PATH
-
-    If you are using csh or tcsh, then use this command:
-
-set path = ( /usr/local/pgsql/bin $path )
-
-   
-
-   
-    
-     MANPATH
-    
-    To enable your system to find the man
-    documentation, you need to add lines like the following to a
-    shell start-up file unless you installed into a location that is
-    searched by default.
-
-MANPATH=/usr/local/pgsql/man:$MANPATH
-export MANPATH
-
-   
-
-   
-    The environment variables PGHOST and PGPORT
-    specify to client applications the host and port of the database
-    server, overriding the compiled-in defaults. If you are going to
-    run client applications remotely then it is convenient if every
-    user that plans to use the database sets PGHOST.  This
-    is not required, however: the settings can be communicated via command
-    line options to most client programs.
-   
-  
-
-
-
-  Getting Started
-
-  
-   The following is a quick summary of how to get PostgreSQL up and
-   running once installed. The main documentation contains more information.
-  
-
-  
-   
-    
-     Create a user account for the PostgreSQL
-     server. This is the user the server will run as. For production
-     use you should create a separate, unprivileged account
-     (postgres is commonly used). If you do not have root
-     access or just want to play around, your own user account is
-     enough, but running the server as root is a security risk and
-     will not work.
-
-adduser postgres
-
-    
-   
-
-   
-    
-     Create a database installation with the initdb
-     command. To run initdb you must be logged in to your
-     PostgreSQL server account. It will not work as
-     root.
-
-root# mkdir /usr/local/pgsql/data
-root# chown postgres /usr/local/pgsql/data
-root# su - postgres
-postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
-
-    
-
-    
-     The 
-     will be stored. You can use any path you want, it does not have
-     to be under the installation directory. Just make sure that the
-     server account can write to the directory (or create it, if it
-     doesn't already exist) before starting initdb, as
-     illustrated here.
-    
-   
-
-   
-    
-     The previous step should have told you how to start up the
-     database server. Do so now. The command should look something
-     like
-
-/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
-
-     This will start the server in the foreground. To put the server
-     in the background use something like
-
-nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \
-    </dev/null >>server.log 2>&1 </dev/null &
-
-    
-
-    
-     To stop a server running in the background you can type
-
-kill `cat /usr/local/pgsql/data/postmaster.pid`
-
-    
-
-    
-     In order to allow TCP/IP connections (rather than only Unix
-     domain socket ones) you need to pass the 
-     postmaster.
-    
-   
-
-   
-    
-     Create a database:
-
-createdb testdb
-
-     Then enter
-
-psql testdb
-
-     to connect to that database. At the prompt you can enter SQL
-     commands and start experimenting.
-    
-   
-  
-
-  What Now?
-
-  
-   
-    
-     
-      The PostgreSQL distribution contains a
-      comprehensive documentation set, which you should read sometime.
-      After installation, the documentation can be accessed by
-      pointing your browser to
-      /usr/local/pgsql/doc/html/index.html, unless you
-      changed the installation directories.
-     
-
-     
-      The first few chapters of the main documentation are the Tutorial,
-      which should be your first reading if you are completely new to
-      SQL databases.  If you are familiar with database
-      concepts then you want to proceed with part on server
-      administration, which contains information about how to set up
-      the database server, database users, and authentication.
-     
-    
-
-    
-     
-      Usually, you will want to modify your computer so that it will
-      automatically start the database server whenever it boots. Some
-      suggestions for this are in the documentation.
-     
-    
-
-    
-     
-      Run the regression tests against the installed server (using
-      gmake installcheck). If you didn't run the
-      tests before installation, you should definitely do it now. This
-      is also explained in the documentation.
-     
-    
-
-    
-     
-      By default, PostgreSQL is configured to run on
-      minimal hardware.  This allows it to start up with almost any
-      hardware configuration. The default configuration is, however,
-      not designed for optimum performance. To achieve optimum
-      performance, several server parameters must be adjusted, the two
-      most common being shared_buffers and
-      work_mem.
-      Other parameters mentioned in the documentation also affect
-      performance.
-     
-    
-   
-  
-]]>
-
-
-  Supported Platforms
-
-  
-   PostgreSQL has been verified by the developer
-   community to work on the platforms listed below. A supported
-   platform generally means that PostgreSQL builds and
-   installs according to these instructions and that the regression
-   tests pass.  Build farm entries refer to builds
-   reported by the PostgreSQL
-   Build Farm.
-  
-
-  
-   
-    If you are having problems with the installation on a supported
-    platform, please write to [email protected]
-    or [email protected], not to the people
-    listed here.
-   
-  
-
-    
-     
-      
-       
-        OS
-        Processor
-        Version
-        Reported
-        Remarks
-       
-      
-      
-       
-        AIX
-        PowerPC
-        8.0.0
-        Travis P ([email protected]), 2004-12-12
-        see also doc/FAQ_AIX
-       
-       
-        AIX
-        RS6000
-        8.0.0
-        Hans-Jürgen Schönig ([email protected]), 2004-12-06
-        see also doc/FAQ_AIX
-       
-       
-        BSD/OS
-        x86
-        8.0.0
-        Bruce Momjian ([email protected]), 2004-12-07
-        4.3.1
-       
-       
-        Debian GNU/Linux
-        Alpha
-        7.4
-        Noèl Köthe ([email protected]), 2003-10-25
-        
-       
-       
-        Debian GNU/Linux
-        AMD64
-        8.0.0
-        Build farm panda, snapshot 2004-12-06 01:20:02
-        sid, kernel 2.6
-       
-       
-        Debian GNU/Linux
-        arm41
-        7.4
-        Noèl Köthe ([email protected]), 2003-10-25
-        
-       
-       
-        Debian GNU/Linux
-        Itanium
-        7.4
-        Noèl Köthe ([email protected]), 2003-10-25
-        
-       
-       
-        Debian GNU/Linux
-        m68k
-        8.0.0
-        Noèl Köthe ([email protected]), 2004-12-09
-        sid
-       
-       
-        Debian GNU/Linux
-        MIPS
-        8.0.0
-        Build farm lionfish, snapshot 2004-12-06 11:00:08
-        3.1 (sarge), kernel 2.4
-       
-       
-        Debian GNU/Linux
-        PA-RISC
-        8.0.0
-        Noèl Köthe ([email protected]), 2004-12-07
-        
-     
-       
-        Debian GNU/Linux
-        PowerPC
-        8.0.0
-        Noèl Köthe ([email protected]), 2004-12-15
-        
-       
-       
-        Debian GNU/Linux
-        S/390
-        7.4
-        Noèl Köthe ([email protected]), 2003-10-25
-        
-       
-       
-        Debian GNU/Linux
-        Sparc
-        8.0.0
-        Noèl Köthe ([email protected]), 2004-12-09
-        sid, 32-bit
-       
-       
-        Debian GNU/Linux
-        x86
-        8.0.0
-        Peter Eisentraut ([email protected]), 2004-12-06
-        3.1 (sarge), kernel 2.6
-       
-       
-        Fedora
-        AMD64
-        8.0.0
-        John Gray ([email protected]), 2004-12-12
-        FC3
-       
-       
-        Fedora
-        x86
-        8.0.0
-        Build farm dog, snapshot 2004-12-06 02:06:01
-        FC1
-       
-       
-        FreeBSD
-        Alpha
-        7.4
-        Peter Eisentraut ([email protected]), 2003-10-25
-        4.8
-       
-       
-        FreeBSD
-        x86
-        8.0.0
-        Build farm cockatoo, snapshot 2004-12-06 14:10:01 (4.10);
-         Marc Fournier ([email protected]), 2004-12-07 (5.3)
-        
-       
-       
-        Gentoo Linux
-        x86
-        8.0.0
-        Paul Bort ([email protected]), 2004-12-07
-        
-       
-       
-        HP-UX
-        PA-RISC
-        7.4
-        
-         Tom Lane ([email protected]), 2003-10-31 (10.20);
-         Peter Eisentraut ([email protected]), 2003-11-04 (11.00)
-        
-        gcc and cc; see also doc/FAQ_HPUX
-       
-       
-        IRIX
-        MIPS
-        7.4
-        Robert E. Bruccoleri ([email protected]), 2003-11-12
-        6.5.20, cc only
-       
-       
-        Mac OS X
-        PowerPC
-        8.0.0
-        Andrew Rawnsley ([email protected]), 2004-12-07
-        10.3.5
-       
-       
-        Mandrakelinux
-        x86
-        8.0.0
-        Build farm shrew, snapshot 2004-12-06 02:02:01
-        10.0
-       
-       
-        NetBSD
-        arm32
-        7.4
-        Patrick Welche ([email protected]), 2003-11-12
-        1.6ZE/acorn32
-       
-       
-        NetBSD
-        Sparc
-        7.4.1
-        Peter Eisentraut ([email protected]), 2003-11-26
-        1.6.1, 32-bit
-       
-       
-        NetBSD
-        x86
-        8.0.0
-        Build farm canary, snapshot 2004-12-06 03:30:00
-        1.6
-       
-       
-        OpenBSD
-        Sparc
-        7.4
-        Peter Eisentraut ([email protected]), 2003-11-01
-        3.4
-       
-       
-        OpenBSD
-        x86
-        8.0.0
-        Build farm emu, snapshot 2004-12-06 11:35:03
-        3.6
-       
-       
-        Red Hat Linux
-        AMD64
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Red Hat Linux
-        IA64
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Red Hat Linux
-        PowerPC
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Red Hat Linux
-        PowerPC 64
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Red Hat Linux
-        S/390
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Red Hat Linux
-        S/390x
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Red Hat Linux
-        x86
-        8.0.0
-        Tom Lane ([email protected]), 2004-12-07
-        RHEL 3AS
-       
-       
-        Solaris
-        Sparc
-        8.0.0
-        Kenneth Marshall ([email protected]), 2004-12-07
-        Solaris 8; see also doc/FAQ_Solaris
-       
-       
-        Solaris
-        x86
-        8.0.0
-        Build farm kudu, snapshot 2004-12-10 02:30:04 (cc);
-          dragonfly, snapshot 2004-12-09 04:30:00 (gcc)
-        Solaris 9; see also doc/FAQ_Solaris
-       
-       
-        Tru64 UNIX
-        Alpha
-        7.4
-        Peter Eisentraut ([email protected]), 2003-10-25 (5.1b);
-         Alessio Bragadini ([email protected]), 2003-10-29 (4.0g)
-        
-       
-       
-        UnixWare
-        x86
-        8.0.0
-        Peter Eisentraut ([email protected]), 2004-12-14
-        cc, 7.1.4; see also doc/FAQ_SCO
-       
-       
-        Windows
-        x86
-        8.0.0
-        Dave Page ([email protected]), 2004-12-07
-        see doc/FAQ_MINGW
-       
-       
-        Windows with Cygwin
-        x86
-        8.0.0
-        Build farm gibbon, snapshot 2004-12-11 01:33:01
-        see doc/FAQ_CYGWIN
-       
-      
-     
-    
-
-  
-   Unsupported Platforms:
-   
-    The following platforms are either known not to work, or they used
-    to work in a previous release and we did not receive explicit
-    confirmation of a successful test with version &majorversion; at
-    the time this list was compiled.  We include these here to let you
-    know that these platforms could be supported if given
-    some attention.
-   
-  
-
-  
-   
-    
-     
-      OS
-      Processor
-      Version
-      Reported
-      Remarks
-     
-    
-
-    
-     
-      BeOS
-      x86
-      7.2
-      2001-11-29,
-       Cyril Velter ([email protected])
-      needs updates to semaphore code
-     
-     
-      Linux
-      PlayStation 2
-      7.4
-      2003-11-02,
-       Peter Eisentraut ([email protected])
-      
-       needs new config.guess,
-       
-      
-     
-     
-      NetBSD
-      Alpha
-      7.2
-      2001-11-20,
-       Thomas Thai ([email protected])
-      1.5W
-     
-     
-      NetBSD
-      MIPS
-      7.2.1
-      2002-06-13,
-       Warwick Hunter ([email protected])
-      1.5.3
-     
-     
-      NetBSD
-      PowerPC
-      7.2
-      2001-11-28,
-       Bill Studenmund ([email protected])
-      1.5
-     
-     
-      NetBSD
-      VAX
-      7.1
-      2001-03-30,
-       Tom I. Helbekkmo ([email protected])
-      1.5
-     
-     
-      QNX 4 RTOS
-      x86
-      7.2
-      2001-12-10,
-       Bernd Tegge ([email protected])
-      
-      needs updates to semaphore code;
-       see also doc/FAQ_QNX4
-     
-     
-      QNX RTOS v6
-      x86
-      7.2
-      2001-11-20, Igor Kovalenko ([email protected])
-      patches available in archives, but too late for 7.2
-     
-     
-      SCO OpenServer
-      x86
-      7.3.1
-      2002-12-11, 
-       Shibashish Satpathy ([email protected])
-      5.0.4, gcc;  see also doc/FAQ_SCO
-     
-     
-      SunOS 4
-      Sparc
-      7.2
-      2001-12-04, Tatsuo Ishii ([email protected])
-      
-     
-    
-   
-  
-
-
-
-
+\r
+\r
+\r
<![%standalone-include[<productname>PostgreSQL</>]]><span class="cntrl">\r</span></div> <div class="diff add">+  Installation Instructions\r
+\r
\r
+  installation\r
\r
+\r
\r
+  This \r
+   describes the installation of\r
+  PostgreSQL from the source code\r
+  distribution.\r
\r
+\r
\r
+  Short Version\r
+\r
+  \r
+\r
+./configure\r
+gmake\r
+su\r
+gmake install\r
+adduser postgres\r
+mkdir /usr/local/pgsql/data\r
+chown postgres /usr/local/pgsql/data\r
+su - postgres\r
+/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data\r
+/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &\r
+/usr/local/pgsql/bin/createdb test\r
+/usr/local/pgsql/bin/psql test\r
+\r
+   The long version is the rest of this\r
+   \r
+   \r
+  \r
\r
+\r
+\r
\r
+  Requirements\r
+\r
+  \r
+   In general, a modern Unix-compatible platform should be able to run\r
+   PostgreSQL.\r
+    The platforms that had received specific testing at the\r
+   time of release are listed in \r
+   below. In the doc subdirectory of the distribution\r
+   there are several platform-specific FAQ documents you\r
+   might wish to consult if you are having trouble.\r
+  \r
+\r
+  \r
+   The following software packages are required for building\r
+   PostgreSQL:\r
+\r
+   \r
+    \r
+     \r
+      \r
+       make\r
+      \r
+\r
+      GNU make is required; other\r
+      make programs will not work.\r
+      GNU make is often installed under\r
+      the name gmake; this document will always\r
+      refer to it by that name. (On some systems\r
+      GNU make is the default tool with the name\r
+      make.) To test for GNU\r
+      make enter\r
+\r
+gmake --version\r
+\r
+      It is recommended to use version 3.76.1 or later.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      You need an ISO/ANSI C compiler. Recent\r
+      versions of GCC are recommendable, but\r
+      PostgreSQL is known to build with a wide variety\r
+      of compilers from different vendors.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      gzip is needed to unpack the distribution in the\r
+      first place.\r
+      past that hurdle.]]>\r
+     \r
+    \r
+\r
+    \r
+     \r
+      \r
+       readline\r
+      \r
+\r
+      The GNU Readline library (for\r
+      comfortable line editing and command history retrieval) will be\r
+      used by default.  If you don't want to use it then you must\r
+      specify the  option for\r
+      configure.  (On NetBSD,\r
+      the libedit library is\r
+      Readline-compatible and is used if\r
+      libreadline is not found.)\r
+     \r
+    \r
+\r
+    \r
+     \r
+      \r
+       installation\r
+       on Windows\r
+      \r
+\r
+      To build on NT-based versions of\r
+      Windows like Windows XP and 2003 see\r
+      doc/FAQ_MINGW. For earlier Windows\r
+      releases see doc/FAQ_CYGWIN.\r
+\r
+      To build Windows client-only interfaces using\r
+      tools like Visual C++ and Borland\r
+      C++ see\r
+      \r
+      Installation on Windows"]]> \r
+      linkend="install-win32">]]>.\r
+     \r
+    \r
+   \r
+  \r
+\r
+  \r
+   The following packages are optional.  They are not required in the\r
+   default configuration, but they are needed when certain build\r
+   options are enabled, as explained below.\r
+\r
+   \r
+    \r
+     \r
+      To build the server programming language\r
+      PL/Perl you need a full\r
+      Perl installation, including the\r
+      libperl library and the header files.\r
+      Since PL/Perl will be a shared\r
+      library, the libperl\r
+      libperl library must be a shared library\r
+      also on most platforms.  This appears to be the default in\r
+      recent Perl versions, but it was not\r
+      in earlier versions, and in general it is the choice of whomever\r
+      installed Perl at your site.\r
+     \r
+\r
+     \r
+      If you don't have the shared library but you need one, a message\r
+      like this will appear during the build to point out this fact:\r
+\r
+*** Cannot build PL/Perl because libperl is not a shared library.\r
+*** You might have to rebuild your Perl installation.  Refer to\r
+*** the documentation for details.\r
+\r
+      (If you don't follow the on-screen output you will merely notice\r
+      that the PL/Perl library object,\r
+      plperl.so or similar, will not be\r
+      installed.)  If you see this, you will have to rebuild and\r
+      install Perl manually to be able to\r
+      build PL/Perl.  During the\r
+      configuration process for Perl,\r
+      request a shared library.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      To build the PL/Python server programming\r
+      language, you need a Python\r
+      installation with the header files and the distutils module.\r
+      The distutils module is included by default with\r
+      Python 1.6 and later; users of\r
+      earlier versions of Python will need\r
+      to install it.\r
+     \r
+\r
+     \r
+      Since PL/Python will be a shared\r
+      library, the libpython\r
+      libpython library must be a shared library\r
+      also on most platforms.  This is not the case in a default\r
+      Python installation.  If after\r
+      building and installing you have a file called\r
+      plpython.so (possibly a different\r
+      extension), then everything went well.  Otherwise you should\r
+      have seen a notice like this flying by:\r
+\r
+*** Cannot build PL/Python because libpython is not a shared library.\r
+*** You might have to rebuild your Python installation.  Refer to\r
+*** the documentation for details.\r
+\r
+      That means you have to rebuild (part of) your\r
+      Python installation to supply this\r
+      shared library.\r
+     \r
+\r
+     \r
+      If you have problems, run Python 2.3 or later's\r
+      configure using the --enable-shared flag.  On some\r
+      operating systems you don't have to build a shared library, but\r
+      you will have to convince the PostgreSQL build\r
+      system of this.  Consult the Makefile in\r
+      the src/pl/plpython directory for details.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      If you want to build the PL/Tcl\r
+      procedural language, you of course need a Tcl installation.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      To enable Native Language Support (NLS), that\r
+      is, the ability to display a program's messages in a language\r
+      other than English, you need an implementation of the\r
+      Gettext API.  Some operating\r
+      systems have this built-in (e.g., \r
+      class="osname">Linux, NetBSD,\r
+      Solaris), for other systems you\r
+      can download an add-on package from here: \r
+      url="http://developer.postgresql.org/~petere/bsd-gettext/" >.\r
+      If you are using the Gettext implementation in\r
+      the GNU C library then you will additionally\r
+      need the GNU Gettext package for some\r
+      utility programs.  For any of the other implementations you will\r
+      not need it.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      Kerberos, OpenSSL, or PAM,\r
+      if you want to support authentication using these services.\r
+     \r
+    \r
+   \r
+  \r
+\r
+  \r
+   If you are building from a CVS tree instead of\r
+   using a released source package, or if you want to do development,\r
+   you also need the following packages:\r
+\r
+   \r
+    \r
+     \r
+      \r
+       flex\r
+      \r
+      \r
+       bison\r
+      \r
+      \r
+       yacc\r
+      \r
+\r
+      Flex and Bison\r
+      are needed to build a CVS checkout or if you changed the actual\r
+      scanner and parser definition files. If you need them, be sure\r
+      to get Flex 2.5.4 or later and\r
+      Bison 1.875 or later. Other yacc\r
+      programs can sometimes be used, but doing so requires extra\r
+      effort and is not recommended. Other lex\r
+      programs will definitely not work.\r
+     \r
+    \r
+   \r
+  \r
+\r
+  \r
+   If you need to get a GNU package, you can find\r
+   it at your local GNU mirror site (see \r
+   url="http://www.gnu.org/order/ftp.html">\r
+   for a list) or at \r
+   url="ftp://ftp.gnu.org/gnu/">.\r
+  \r
+\r
+  \r
+   Also check that you have sufficient disk space. You will need about\r
+   65 MB for the source tree during compilation and about 15 MB for\r
+   the installation directory. An empty database cluster takes about\r
+   25 MB, databases take about five times the amount of space that a\r
+   flat text file with the same data would take. If you are going to\r
+   run the regression tests you will temporarily need up to an extra\r
+   90 MB. Use the df command to check for disk\r
+   space.\r
+  \r
\r
+\r
+\r
\r
+  Getting The Source\r
+\r
+  \r
+   The PostgreSQL &version; sources can be obtained by\r
+   anonymous FTP from \r
+   url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz">.\r
+   Use a mirror if possible. After you have obtained the file, unpack it:\r
+\r
+gunzip postgresql-&version;.tar.gz\r
+tar xf postgresql-&version;.tar\r
+\r
+   This will create a directory\r
+   postgresql-&version; under the current directory\r
+   with the PostgreSQL sources.\r
+   Change into that directory for the rest\r
+   of the installation procedure.\r
+  \r
\r
+]]>\r
+\r
\r
+  If You Are Upgrading\r
+\r
+  \r
+   upgrading\r
+  \r
+\r
+  \r
+   The internal data storage format changes with new releases of\r
+   PostgreSQL. Therefore, if you are upgrading an\r
+   existing installation that does not have a version number\r
+   &majorversion;.x, you must back up and restore your\r
+   data as shown here. These instructions assume that your existing\r
+   installation is under the /usr/local/pgsql directory,\r
+   and that the data area is in /usr/local/pgsql/data.\r
+   Substitute your paths appropriately.\r
+  \r
+\r
+  \r
+   \r
+    \r
+     Make sure that your database is not updated during or after the\r
+     backup. This does not affect the integrity of the backup, but the\r
+     changed data would of course not be included. If necessary, edit\r
+     the permissions in the file\r
+     /usr/local/pgsql/data/pg_hba.conf (or equivalent) to\r
+     disallow access from everyone except you.\r
+    \r
+   \r
+\r
+   \r
+    \r
+     \r
+      pg_dumpall\r
+      use during upgrade\r
+     \r
+\r
+     To back up your database installation, type:\r
+\r
+pg_dumpall > outputfile\r
+\r
+     If you need to preserve OIDs (such as when using them as\r
+     foreign keys), then use the  option when running\r
+     pg_dumpall.\r
+    \r
+\r
+    \r
+     pg_dumpall does not\r
+     save large objects.  Check\r
+     \r
+     ]]>\r
+     if you need to do this.\r
+    \r
+\r
+    \r
+     To make the backup, you can use the pg_dumpall\r
+     command from the version you are currently running.  For best\r
+     results, however, try to use the pg_dumpall\r
+     command from PostgreSQL &version;,\r
+     since this version contains bug fixes and improvements over older\r
+     versions.  While this advice might seem idiosyncratic since you\r
+     haven't installed the new version yet, it is advisable to follow\r
+     it if you plan to install the new version in parallel with the\r
+     old version.  In that case you can complete the installation\r
+     normally and transfer the data later.  This will also decrease\r
+     the downtime.\r
+    \r
+   \r
+\r
+   \r
+    \r
+     If you are installing the new version at the same location as the\r
+     old one then shut down the old server, at the latest before you\r
+     install the new files:\r
+\r
+kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`\r
+\r
+     Versions prior to 7.0 do not have this\r
+     postmaster.pid file. If you are using such a version\r
+     you must find out the process ID of the server yourself, for\r
+     example by typing ps ax | grep postmaster, and\r
+     supply it to the kill command.\r
+    \r
+\r
+    \r
+     On systems that have PostgreSQL started at boot time, there is\r
+     probably a start-up file that will accomplish the same thing. For\r
+     example, on a Red Hat Linux system one might find that\r
+\r
+/etc/rc.d/init.d/postgresql stop\r
+\r
+     works.  Another possibility is pg_ctl stop.\r
+    \r
+   \r
+\r
+   \r
+    \r
+     If you are installing in the same place as the old version then\r
+     it is also a good idea to move the old installation out of the\r
+     way, in case you have trouble and need to revert to it.\r
+     Use a command like this:\r
+\r
+mv /usr/local/pgsql /usr/local/pgsql.old\r
+\r
+    \r
+   \r
+  \r
+\r
+  \r
+   After you have installed PostgreSQL &version;, create a new database\r
+   directory and start the new server. Remember that you must execute\r
+   these commands while logged in to the special database user account\r
+   (which you already have if you are upgrading).\r
+\r
+/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data\r
+/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data\r
+\r
+   Finally, restore your data with\r
+\r
+/usr/local/pgsql/bin/psql -d template1 -f outputfile\r
+\r
+   using the new psql.\r
+  \r
+\r
+  \r
+   These topics are discussed at length in \r
+   documentation,]]> \r
+   linkend="migration">,]]> which you are encouraged to read in any\r
+   case.\r
+  \r
\r
+\r
+\r
\r
+  Installation Procedure\r
+\r
+  \r
+\r
+  \r
+   Configuration</><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+   <indexterm zone="configure"><span class="cntrl">\r</span></div> <div class="diff add">+    <primary>configure</primary><span class="cntrl">\r</span></div> <div class="diff add">+   </indexterm><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+   <para><span class="cntrl">\r</span></div> <div class="diff add">+    The first step of the installation procedure is to configure the<span class="cntrl">\r</span></div> <div class="diff add">+    source tree for your system and choose the options you would like.<span class="cntrl">\r</span></div> <div class="diff add">+    This is done by running the <filename>configure</> script. For a<span class="cntrl">\r</span></div> <div class="diff add">+    default installation simply enter<span class="cntrl">\r</span></div> <div class="diff add">+<screen><span class="cntrl">\r</span></div> <div class="diff add">+<userinput>./configure</userinput><span class="cntrl">\r</span></div> <div class="diff add">+</screen><span class="cntrl">\r</span></div> <div class="diff add">+    This script will run a number of tests to guess values for various<span class="cntrl">\r</span></div> <div class="diff add">+    system dependent variables and detect some quirks of your<span class="cntrl">\r</span></div> <div class="diff add">+    operating system, and finally will create several files in the<span class="cntrl">\r</span></div> <div class="diff add">+    build tree to record what it found.  (You can also run<span class="cntrl">\r</span></div> <div class="diff add">+    <filename>configure</filename> in a directory outside the source<span class="cntrl">\r</span></div> <div class="diff add">+    tree if you want to keep the build directory separate.)<span class="cntrl">\r</span></div> <div class="diff add">+   </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+   <para><span class="cntrl">\r</span></div> <div class="diff add">+    The default configuration will build the server and utilities, as<span class="cntrl">\r</span></div> <div class="diff add">+    well as all client applications and interfaces that require only a<span class="cntrl">\r</span></div> <div class="diff add">+    C compiler. All files will be installed under<span class="cntrl">\r</span></div> <div class="diff add">+    <filename>/usr/local/pgsql</> by default.<span class="cntrl">\r</span></div> <div class="diff add">+   </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+   <para><span class="cntrl">\r</span></div> <div class="diff add">+    You can customize the build and installation process by supplying one<span class="cntrl">\r</span></div> <div class="diff add">+    or more of the following command line options to<span class="cntrl">\r</span></div> <div class="diff add">+    <filename>configure</filename>:<span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+     <variablelist><span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--prefix=<replaceable>PREFIX</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Install all files under the directory <replaceable>PREFIX</><span class="cntrl">\r</span></div> <div class="diff add">+         instead of <filename>/usr/local/pgsql</filename>. The actual<span class="cntrl">\r</span></div> <div class="diff add">+         files will be installed into various subdirectories; no files<span class="cntrl">\r</span></div> <div class="diff add">+         will ever be installed directly into the<span class="cntrl">\r</span></div> <div class="diff add">+         <replaceable>PREFIX</> directory.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         If you have special needs, you can also customize the<span class="cntrl">\r</span></div> <div class="diff add">+         individual subdirectories with the following options. However,<span class="cntrl">\r</span></div> <div class="diff add">+         if you leave these with their defaults, the installation will be<span class="cntrl">\r</span></div> <div class="diff add">+         relocatable, meaning you can move the directory after<span class="cntrl">\r</span></div> <div class="diff add">+         installation. (The <literal>man</> and <literal>doc</><span class="cntrl">\r</span></div> <div class="diff add">+         locations are not affected by this.)<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         For relocatable installs, you might want to use <span class="cntrl">\r</span></div> <div class="diff add">+         <filename>configure</filename>'s <literal>--disable-rpath</><span class="cntrl">\r</span></div> <div class="diff add">+         option.  Also, you will need to tell the operating system how<span class="cntrl">\r</span></div> <div class="diff add">+         to find the shared libraries.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--exec-prefix=<replaceable>EXEC-PREFIX</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         You can install architecture-dependent files under a<span class="cntrl">\r</span></div> <div class="diff add">+         different prefix, <replaceable>EXEC-PREFIX</>, than what<span class="cntrl">\r</span></div> <div class="diff add">+         <replaceable>PREFIX</> was set to. This can be useful to<span class="cntrl">\r</span></div> <div class="diff add">+         share architecture-independent files between hosts. If you<span class="cntrl">\r</span></div> <div class="diff add">+         omit this, then <replaceable>EXEC-PREFIX</> is set equal to<span class="cntrl">\r</span></div> <div class="diff add">+         <replaceable>PREFIX</> and both architecture-dependent and<span class="cntrl">\r</span></div> <div class="diff add">+         independent files will be installed under the same tree,<span class="cntrl">\r</span></div> <div class="diff add">+         which is probably what you want.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--bindir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Specifies the directory for executable programs. The default<span class="cntrl">\r</span></div> <div class="diff add">+         is <filename><replaceable>EXEC-PREFIX</>/bin</>, which<span class="cntrl">\r</span></div> <div class="diff add">+         normally means <filename>/usr/local/pgsql/bin</>.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--datadir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Sets the directory for read-only data files used by the<span class="cntrl">\r</span></div> <div class="diff add">+         installed programs. The default is<span class="cntrl">\r</span></div> <div class="diff add">+         <filename><replaceable>PREFIX</>/share</>. Note that this has<span class="cntrl">\r</span></div> <div class="diff add">+         nothing to do with where your database files will be placed.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--sysconfdir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         The directory for various configuration files,<span class="cntrl">\r</span></div> <div class="diff add">+         <filename><replaceable>PREFIX</>/etc</> by default.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--libdir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         The location to install libraries and dynamically loadable<span class="cntrl">\r</span></div> <div class="diff add">+         modules. The default is<span class="cntrl">\r</span></div> <div class="diff add">+         <filename><replaceable>EXEC-PREFIX</>/lib</>.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--includedir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         The directory for installing C and C++ header files. The<span class="cntrl">\r</span></div> <div class="diff add">+         default is <filename><replaceable>PREFIX</>/include</>.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--mandir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         The man pages that come with <productname>PostgreSQL</> will be installed under<span class="cntrl">\r</span></div> <div class="diff add">+         this directory, in their respective<span class="cntrl">\r</span></div> <div class="diff add">+         <filename>man<replaceable>x</></> subdirectories.<span class="cntrl">\r</span></div> <div class="diff add">+         The default is <filename><replaceable>PREFIX</>/man</>.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-docdir=<replaceable>DIRECTORY</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--without-docdir</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Documentation files, except <quote>man</> pages, will be<span class="cntrl">\r</span></div> <div class="diff add">+         installed into this directory. The default is<span class="cntrl">\r</span></div> <div class="diff add">+         <filename><replaceable>PREFIX</>/doc</>.  If the option<span class="cntrl">\r</span></div> <div class="diff add">+         <option>--without-docdir</option> is specified, the<span class="cntrl">\r</span></div> <div class="diff add">+         documentation will not be installed by <command>make<span class="cntrl">\r</span></div> <div class="diff add">+         install</command>.  This is intended for packaging scripts<span class="cntrl">\r</span></div> <div class="diff add">+         that have special methods for installing documentation.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+     </variablelist><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+     <note><span class="cntrl">\r</span></div> <div class="diff add">+      <para><span class="cntrl">\r</span></div> <div class="diff add">+       Care has been taken to make it possible to install<span class="cntrl">\r</span></div> <div class="diff add">+       <productname>PostgreSQL</> into shared installation locations<span class="cntrl">\r</span></div> <div class="diff add">+       (such as <filename>/usr/local/include</filename>) without<span class="cntrl">\r</span></div> <div class="diff add">+       interfering with the namespace of the rest of the system. First,<span class="cntrl">\r</span></div> <div class="diff add">+       the string <quote><literal>/postgresql</literal></quote> is<span class="cntrl">\r</span></div> <div class="diff add">+       automatically appended to <varname>datadir</varname>,<span class="cntrl">\r</span></div> <div class="diff add">+       <varname>sysconfdir</varname>, and <varname>docdir</varname>,<span class="cntrl">\r</span></div> <div class="diff add">+       unless the fully expanded directory name already contains the<span class="cntrl">\r</span></div> <div class="diff add">+       string <quote><literal>postgres</></quote> or<span class="cntrl">\r</span></div> <div class="diff add">+       <quote><literal>pgsql</></quote>. For example, if you choose<span class="cntrl">\r</span></div> <div class="diff add">+       <filename>/usr/local</filename> as prefix, the documentation will<span class="cntrl">\r</span></div> <div class="diff add">+       be installed in <filename>/usr/local/doc/postgresql</filename>,<span class="cntrl">\r</span></div> <div class="diff add">+       but if the prefix is <filename>/opt/postgres</filename>, then it<span class="cntrl">\r</span></div> <div class="diff add">+       will be in <filename>/opt/postgres/doc</filename>. The public C<span class="cntrl">\r</span></div> <div class="diff add">+       header files of the client interfaces are installed into<span class="cntrl">\r</span></div> <div class="diff add">+       <varname>includedir</varname> and are namespace-clean. The<span class="cntrl">\r</span></div> <div class="diff add">+       internal header files and the server header files are installed<span class="cntrl">\r</span></div> <div class="diff add">+       into private directories under <varname>includedir</varname>. See<span class="cntrl">\r</span></div> <div class="diff add">+       the documentation of each interface for information about how to<span class="cntrl">\r</span></div> <div class="diff add">+       get at the its header files. Finally, a private subdirectory will<span class="cntrl">\r</span></div> <div class="diff add">+       also be created, if appropriate, under <varname>libdir</varname><span class="cntrl">\r</span></div> <div class="diff add">+       for dynamically loadable modules.<span class="cntrl">\r</span></div> <div class="diff add">+      </para><span class="cntrl">\r</span></div> <div class="diff add">+     </note><span class="cntrl">\r</span></div> <div class="diff add">+    </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+    <para><span class="cntrl">\r</span></div> <div class="diff add">+     <variablelist><span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-includes=<replaceable>DIRECTORIES</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         <replaceable>DIRECTORIES</> is a colon-separated list of<span class="cntrl">\r</span></div> <div class="diff add">+         directories that will be added to the list the compiler<span class="cntrl">\r</span></div> <div class="diff add">+         searches for header files. If you have optional packages<span class="cntrl">\r</span></div> <div class="diff add">+         (such as GNU <application>Readline</>) installed in a non-standard<span class="cntrl">\r</span></div> <div class="diff add">+         location,<span class="cntrl">\r</span></div> <div class="diff add">+         you have to use this option and probably also the corresponding<span class="cntrl">\r</span></div> <div class="diff add">+         <option>--with-libraries</> option.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Example: <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-libraries=<replaceable>DIRECTORIES</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         <replaceable>DIRECTORIES</> is a colon-separated list of<span class="cntrl">\r</span></div> <div class="diff add">+         directories to search for libraries. You will probably have<span class="cntrl">\r</span></div> <div class="diff add">+         to use this option (and the corresponding<span class="cntrl">\r</span></div> <div class="diff add">+         <option>--with-includes</> option) if you have packages<span class="cntrl">\r</span></div> <div class="diff add">+         installed in non-standard locations.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Example: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Enables Native Language Support (<acronym>NLS</acronym>),<span class="cntrl">\r</span></div> <div class="diff add">+         that is, the ability to display a program's messages in a<span class="cntrl">\r</span></div> <div class="diff add">+         language other than English.<span class="cntrl">\r</span></div> <div class="diff add">+         <replaceable>LANGUAGES</replaceable> is a space separated<span class="cntrl">\r</span></div> <div class="diff add">+         list of codes of the languages that you want supported, for<span class="cntrl">\r</span></div> <div class="diff add">+         example <literal>--enable-nls='de fr'</>.  (The intersection<span class="cntrl">\r</span></div> <div class="diff add">+         between your list and the set of actually provided<span class="cntrl">\r</span></div> <div class="diff add">+         translations will be computed automatically.)  If you do not<span class="cntrl">\r</span></div> <div class="diff add">+         specify a list, then all available translations are<span class="cntrl">\r</span></div> <div class="diff add">+         installed.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         To use this option, you will need an implementation of the<span class="cntrl">\r</span></div> <div class="diff add">+         <application>Gettext</> API; see above.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-pgport=<replaceable>NUMBER</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Set <replaceable>NUMBER</> as the default port number for<span class="cntrl">\r</span></div> <div class="diff add">+         server and clients. The default is 5432. The port can always<span class="cntrl">\r</span></div> <div class="diff add">+         be changed later on, but if you specify it here then both<span class="cntrl">\r</span></div> <div class="diff add">+         server and clients will have the same default compiled in,<span class="cntrl">\r</span></div> <div class="diff add">+         which can be very convenient.  Usually the only good reason<span class="cntrl">\r</span></div> <div class="diff add">+         to select a non-default value is if you intend to run multiple<span class="cntrl">\r</span></div> <div class="diff add">+         <productname>PostgreSQL</> servers on the same machine.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-perl</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build the <application>PL/Perl</> server-side language.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-python</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build the <application>PL/Python</> server-side language.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-tcl</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build the <application>PL/Tcl</> server-side language.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-tclconfig=<replaceable>DIRECTORY</replaceable></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Tcl installs the file <filename>tclConfig.sh</filename>, which<span class="cntrl">\r</span></div> <div class="diff add">+         contains configuration information needed to build modules<span class="cntrl">\r</span></div> <div class="diff add">+         interfacing to Tcl. This file is normally found automatically<span class="cntrl">\r</span></div> <div class="diff add">+         at a well-known location, but if you want to use a different<span class="cntrl">\r</span></div> <div class="diff add">+         version of Tcl you can specify the directory in which to look<span class="cntrl">\r</span></div> <div class="diff add">+         for it.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-krb4</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-krb5</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build with support for Kerberos authentication. You can use<span class="cntrl">\r</span></div> <div class="diff add">+         either Kerberos version 4 or 5, but not both.  On many<span class="cntrl">\r</span></div> <div class="diff add">+         systems, the Kerberos system is not installed in a location<span class="cntrl">\r</span></div> <div class="diff add">+         that is searched by default (e.g., <filename>/usr/include</>,<span class="cntrl">\r</span></div> <div class="diff add">+         <filename>/usr/lib</>), so you must use the options<span class="cntrl">\r</span></div> <div class="diff add">+         <option>--with-includes</> and <option>--with-libraries</> in<span class="cntrl">\r</span></div> <div class="diff add">+         addition to this option.  <filename>configure</> will check<span class="cntrl">\r</span></div> <div class="diff add">+         for the required header files and libraries to make sure that<span class="cntrl">\r</span></div> <div class="diff add">+         your Kerberos installation is sufficient before proceeding.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-krb-srvnam=<replaceable>NAME</></option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         The name of the Kerberos service principal.<span class="cntrl">\r</span></div> <div class="diff add">+         <literal>postgres</literal> is the default. There's probably no<span class="cntrl">\r</span></div> <div class="diff add">+         reason to change this.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <indexterm><span class="cntrl">\r</span></div> <div class="diff add">+        <primary>OpenSSL</primary><span class="cntrl">\r</span></div> <div class="diff add">+        <seealso>SSL</seealso><span class="cntrl">\r</span></div> <div class="diff add">+       </indexterm><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-openssl</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build with support for <acronym>SSL</> (encrypted)<span class="cntrl">\r</span></div> <div class="diff add">+         connections. This requires the <productname>OpenSSL</><span class="cntrl">\r</span></div> <div class="diff add">+         package to be installed.  <filename>configure</> will check<span class="cntrl">\r</span></div> <div class="diff add">+         for the required header files and libraries to make sure that<span class="cntrl">\r</span></div> <div class="diff add">+         your <productname>OpenSSL</> installation is sufficient<span class="cntrl">\r</span></div> <div class="diff add">+         before proceeding.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-pam</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build with <acronym>PAM</><indexterm><primary>PAM</></><span class="cntrl">\r</span></div> <div class="diff add">+         (Pluggable Authentication Modules) support.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--without-readline</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Prevents the use of the <application>Readline</> library.  This disables<span class="cntrl">\r</span></div> <div class="diff add">+         command-line editing and history in<span class="cntrl">\r</span></div> <div class="diff add">+         <application>psql</application>, so it is not recommended.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--with-rendezvous</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Build with Rendezvous support.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--disable-spinlocks</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Allow the build to succeed even if <productname>PostgreSQL</><span class="cntrl">\r</span></div> <div class="diff add">+         has no CPU spinlock support for the platform.  The lack of<span class="cntrl">\r</span></div> <div class="diff add">+         spinlock support will result in poor performance; therefore,<span class="cntrl">\r</span></div> <div class="diff add">+         this option should only be used if the build aborts and<span class="cntrl">\r</span></div> <div class="diff add">+         informs you that the platform lacks spinlock support. If this<span class="cntrl">\r</span></div> <div class="diff add">+         option is required to build <productname>PostgreSQL</> on<span class="cntrl">\r</span></div> <div class="diff add">+         your platform, please report the problem to the<span class="cntrl">\r</span></div> <div class="diff add">+         <productname>PostgreSQL</> developers.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--enable-thread-safety</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Make the client libraries thread-safe.  This allows<span class="cntrl">\r</span></div> <div class="diff add">+         concurrent threads in <application>libpq</application> and<span class="cntrl">\r</span></div> <div class="diff add">+         <application>ECPG</application> programs to safely control<span class="cntrl">\r</span></div> <div class="diff add">+         their private connection handles.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--without-zlib</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Prevents the use of the <application>Zlib</> library.  This disables<span class="cntrl">\r</span></div> <div class="diff add">+         compression support in <application>pg_dump</application>.<span class="cntrl">\r</span></div> <div class="diff add">+         This option is only intended for those rare systems where this<span class="cntrl">\r</span></div> <div class="diff add">+         library is not available.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--enable-debug</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Compiles all programs and libraries with debugging symbols.<span class="cntrl">\r</span></div> <div class="diff add">+         This means that you can run the programs through a debugger<span class="cntrl">\r</span></div> <div class="diff add">+         to analyze problems. This enlarges the size of the installed<span class="cntrl">\r</span></div> <div class="diff add">+         executables considerably, and on non-GCC compilers it usually<span class="cntrl">\r</span></div> <div class="diff add">+         also disables compiler optimization, causing slowdowns. However,<span class="cntrl">\r</span></div> <div class="diff add">+         having the symbols available is extremely helpful for dealing<span class="cntrl">\r</span></div> <div class="diff add">+         with any problems that may arise.  Currently, this option is<span class="cntrl">\r</span></div> <div class="diff add">+         recommended for production installations only if you use GCC.<span class="cntrl">\r</span></div> <div class="diff add">+         But you should always have it on if you are doing development work<span class="cntrl">\r</span></div> <div class="diff add">+         or running a beta version.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--enable-cassert</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Enables <firstterm>assertion</> checks in the server, which test for<span class="cntrl">\r</span></div> <div class="diff add">+         many <quote>can't happen</> conditions.  This is invaluable for<span class="cntrl">\r</span></div> <div class="diff add">+         code development purposes, but the tests slow things down a little.<span class="cntrl">\r</span></div> <div class="diff add">+         Also, having the tests turned on won't necessarily enhance the<span class="cntrl">\r</span></div> <div class="diff add">+         stability of your server!  The assertion checks are not categorized<span class="cntrl">\r</span></div> <div class="diff add">+         for severity, and so what might be a relatively harmless bug will<span class="cntrl">\r</span></div> <div class="diff add">+         still lead to server restarts if it triggers an assertion<span class="cntrl">\r</span></div> <div class="diff add">+         failure.  Currently, this option is not recommended for<span class="cntrl">\r</span></div> <div class="diff add">+         production use, but you should have it on for development work<span class="cntrl">\r</span></div> <div class="diff add">+         or when running a beta version.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+      <varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+       <term><option>--enable-depend</option></term><span class="cntrl">\r</span></div> <div class="diff add">+       <listitem><span class="cntrl">\r</span></div> <div class="diff add">+        <para><span class="cntrl">\r</span></div> <div class="diff add">+         Enables automatic dependency tracking.  With this option, the<span class="cntrl">\r</span></div> <div class="diff add">+         makefiles are set up so that all affected object files will<span class="cntrl">\r</span></div> <div class="diff add">+         be rebuilt when any header file is changed.  This is useful<span class="cntrl">\r</span></div> <div class="diff add">+         if you are doing development work, but is just wasted overhead<span class="cntrl">\r</span></div> <div class="diff add">+         if you intend only to compile once and install.  At present,<span class="cntrl">\r</span></div> <div class="diff add">+         this option will work only if you use GCC.<span class="cntrl">\r</span></div> <div class="diff add">+        </para><span class="cntrl">\r</span></div> <div class="diff add">+       </listitem><span class="cntrl">\r</span></div> <div class="diff add">+      </varlistentry><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+     </variablelist><span class="cntrl">\r</span></div> <div class="diff add">+    </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+    <para><span class="cntrl">\r</span></div> <div class="diff add">+     If you prefer a C compiler different from the one<span class="cntrl">\r</span></div> <div class="diff add">+     <filename>configure</filename> picks then you can set the<span class="cntrl">\r</span></div> <div class="diff add">+     environment variable <envar>CC</> to the program of your choice.<span class="cntrl">\r</span></div> <div class="diff add">+     By default, <filename>configure</filename> will pick<span class="cntrl">\r</span></div> <div class="diff add">+     <filename>gcc</filename> unless this is inappropriate for the<span class="cntrl">\r</span></div> <div class="diff add">+     platform.  Similarly, you can override the default compiler flags<span class="cntrl">\r</span></div> <div class="diff add">+     with the <envar>CFLAGS</envar> variable.<span class="cntrl">\r</span></div> <div class="diff add">+    </para><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+    <para><span class="cntrl">\r</span></div> <div class="diff add">+     You can specify environment variables on the<span class="cntrl">\r</span></div> <div class="diff add">+     <filename>configure</filename> command line, for example:<span class="cntrl">\r</span></div> <div class="diff add">+<screen><span class="cntrl">\r</span></div> <div class="diff add">+<userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</><span class="cntrl">\r</span></div> <div class="diff add">+</screen><span class="cntrl">\r</span></div> <div class="diff add">+    </para><span class="cntrl">\r</span></div> <div class="diff add">+   </step><span class="cntrl">\r</span></div> <div class="diff add">+<span class="cntrl">\r</span></div> <div class="diff add">+  <step><span class="cntrl">\r</span></div> <div class="diff add">+   <title>Build\r
+\r
+   \r
+    To start the build, type\r
+\r
+gmake\r
+\r
+    (Remember to use GNU make.) The build\r
+    may take anywhere from 5 minutes to half an hour depending on your\r
+    hardware. The last line displayed should be\r
+\r
+All of PostgreSQL is successfully made. Ready to install.\r
+\r
+   \r
+  \r
+\r
+  \r
+   Regression Tests\r
+\r
+   \r
+    regression test\r
+   \r
+\r
+   \r
+    If you want to test the newly built server before you install it,\r
+    you can run the regression tests at this point. The regression\r
+    tests are a test suite to verify that PostgreSQL\r
+    runs on your machine in the way the developers expected it\r
+    to. Type\r
+\r
+gmake check\r
+\r
+    (This won't work as root; do it as an unprivileged user.)\r
+    \r
+    src/test/regress/README and the\r
+    documentation contain]]>\r
+     contains]]>\r
+    detailed information about interpreting the test results. You can\r
+    repeat this test at any later time by issuing the same command.\r
+   \r
+  \r
+\r
+  \r
+   Installing The Files\r
+\r
+   \r
+    \r
+     If you are upgrading an existing system and are going to install\r
+     the new files over the old ones, then you should have backed up\r
+     your data and shut down the old server by now, as explained in\r
+      above.\r
+    \r
+   \r
+\r
+   \r
+    To install PostgreSQL enter\r
+\r
+gmake install\r
+\r
+    This will install files into the directories that were specified\r
+    in . Make sure that you have appropriate\r
+    permissions to write into that area. Normally you need to do this\r
+    step as root. Alternatively, you could create the target\r
+    directories in advance and arrange for appropriate permissions to\r
+    be granted.\r
+   \r
+\r
+   \r
+    You can use gmake install-strip instead of\r
+    gmake install to strip the executable files and\r
+    libraries as they are installed.  This will save some space.  If\r
+    you built with debugging support, stripping will effectively\r
+    remove the debugging support, so it should only be done if\r
+    debugging is no longer needed.  install-strip\r
+    tries to do a reasonable job saving space, but it does not have\r
+    perfect knowledge of how to strip every unneeded byte from an\r
+    executable file, so if you want to save all the disk space you\r
+    possibly can, you will have to do manual work.\r
+   \r
+\r
+   \r
+    The standard installation provides all the header files needed for client\r
+    application development as well as for any server-side program\r
+    development (such as custom functions or data types written in C).\r
+   \r
+\r
+   \r
+    Client-only installation:\r
+    \r
+     If you want to install only the client applications and\r
+     interface libraries, then you can use these commands:\r
+\r
+gmake -C src/bin install\r
+gmake -C src/include install\r
+gmake -C src/interfaces install\r
+gmake -C doc install\r
+\r
+    \r
+   \r
+  \r
+  \r
+\r
+  \r
+   Registering <application>eventlog</> on <systemitem <span class="cntrl">\r</span></div> <div class="diff add">+   class="osname">Windows</>:\r
+   \r
+    To register a Windows eventlog\r
+    library with the operating system, issue this command after installation:\r
+\r
+regsvr32 pgsql_library_directory/pgevent.dll\r
+\r
+    This creates registry entries used by the event viewer.\r
+   \r
+  \r
+\r
+  \r
+   Uninstallation:\r
+   \r
+    To undo the installation use the command gmake\r
+    uninstall. However, this will not remove any created directories.\r
+   \r
+  \r
+\r
+  \r
+   Cleaning:\r
+\r
+   \r
+    After the installation you can make room by removing the built\r
+    files from the source tree with the command gmake\r
+    clean. This will preserve the files made by the configure\r
+    program, so that you can rebuild everything with gmake\r
+    later on. To reset the source tree to the state in which it was\r
+    distributed, use gmake distclean. If you are going to\r
+    build for several platforms from the same source tree you must do\r
+    this and re-configure for each build.\r
+   \r
+  \r
+\r
+  \r
+   If you perform a build and then discover that your configure\r
+   options were wrong, or if you change anything that configure\r
+   investigates (for example, software upgrades), then it's a good\r
+   idea to do gmake distclean before reconfiguring and\r
+   rebuilding.  Without this, your changes in configuration choices\r
+   may not propagate everywhere they need to.\r
+  \r
\r
+\r
\r
+  Post-Installation Setup\r
+\r
+  \r
+   Shared Libraries\r
+\r
+   \r
+    shared library\r
+   \r
+\r
+   \r
+    On some systems that have shared libraries (which most systems do)\r
+    you need to tell your system how to find the newly installed\r
+    shared libraries.  The systems on which this is\r
+    not necessary include \r
+    class="osname">BSD/OS, FreeBSD,\r
+    HP-UX, \r
+    class="osname">IRIX, Linux,\r
+    NetBSD, \r
+    class="osname">OpenBSD, Tru64\r
+    UNIX (formerly Digital UNIX), and\r
+    Solaris.\r
+   \r
+\r
+   \r
+    The method to set the shared library search path varies between\r
+    platforms, but the most widely usable method is to set the\r
+    environment variable LD_LIBRARY_PATH like so: In Bourne\r
+    shells (sh, ksh, bash, zsh)\r
+\r
+LD_LIBRARY_PATH=/usr/local/pgsql/lib\r
+export LD_LIBRARY_PATH\r
+\r
+    or in csh or tcsh\r
+\r
+setenv LD_LIBRARY_PATH /usr/local/pgsql/lib\r
+\r
+    Replace /usr/local/pgsql/lib with whatever you set\r
+    
+    You should put these commands into a shell start-up file such as\r
+    /etc/profile or ~/.bash_profile.  Some\r
+    good information about the caveats associated with this method can\r
+    be found at \r
+    url="http://www.visi.com/~barr/ldpath.html">.\r
+   \r
+\r
+   \r
+    On some systems it might be preferable to set the environment\r
+    variable LD_RUN_PATH before\r
+    building.\r
+   \r
+\r
+   \r
+    On Cygwin, put the library\r
+    directory in the PATH or move the\r
+    .dll files into the bin\r
+    directory.\r
+   \r
+\r
+   \r
+    If in doubt, refer to the manual pages of your system (perhaps\r
+    ld.so or rld). If you later\r
+    on get a message like\r
+\r
+psql: error in loading shared libraries\r
+libpq.so.2.1: cannot open shared object file: No such file or directory\r
+\r
+    then this step was necessary.  Simply take care of it then.\r
+   \r
+\r
+   \r
+    \r
+     ldconfig\r
+    \r
+    If you are on BSD/OS, \r
+    class="osname">Linux, or SunOS 4\r
+    and you have root access you can run\r
+\r
+/sbin/ldconfig /usr/local/pgsql/lib\r
+\r
+    (or equivalent directory) after installation to enable the\r
+    run-time linker to find the shared libraries faster.  Refer to the\r
+    manual page of ldconfig for more information.  On\r
+    FreeBSD, \r
+    class="osname">NetBSD, and \r
+    class="osname">OpenBSD the command is\r
+\r
+/sbin/ldconfig -m /usr/local/pgsql/lib\r
+\r
+    instead.  Other systems are not known to have an equivalent\r
+    command.\r
+   \r
+  \r
+\r
+  \r
+   Environment Variables\r
+\r
+   \r
+    PATH\r
+   \r
+\r
+   \r
+    If you installed into /usr/local/pgsql or some other\r
+    location that is not searched for programs by default, you should\r
+    add /usr/local/pgsql/bin (or whatever you set\r
+    
+    into your PATH.  Strictly speaking, this is not\r
+    necessary, but it will make the use of PostgreSQL\r
+    much more convenient.\r
+   \r
+\r
+   \r
+    To do this, add the following to your shell start-up file, such as\r
+    ~/.bash_profile (or /etc/profile, if you\r
+    want it to affect every user):\r
+\r
+PATH=/usr/local/pgsql/bin:$PATH\r
+export PATH\r
+\r
+    If you are using csh or tcsh, then use this command:\r
+\r
+set path = ( /usr/local/pgsql/bin $path )\r
+\r
+   \r
+\r
+   \r
+    \r
+     MANPATH\r
+    \r
+    To enable your system to find the man\r
+    documentation, you need to add lines like the following to a\r
+    shell start-up file unless you installed into a location that is\r
+    searched by default.\r
+\r
+MANPATH=/usr/local/pgsql/man:$MANPATH\r
+export MANPATH\r
+\r
+   \r
+\r
+   \r
+    The environment variables PGHOST and PGPORT\r
+    specify to client applications the host and port of the database\r
+    server, overriding the compiled-in defaults. If you are going to\r
+    run client applications remotely then it is convenient if every\r
+    user that plans to use the database sets PGHOST.  This\r
+    is not required, however: the settings can be communicated via command\r
+    line options to most client programs.\r
+   \r
+  \r
\r
+\r
+\r
+\r
\r
+  Getting Started\r
+\r
+  \r
+   The following is a quick summary of how to get PostgreSQL up and\r
+   running once installed. The main documentation contains more information.\r
+  \r
+\r
+  \r
+   \r
+    \r
+     Create a user account for the PostgreSQL\r
+     server. This is the user the server will run as. For production\r
+     use you should create a separate, unprivileged account\r
+     (postgres is commonly used). If you do not have root\r
+     access or just want to play around, your own user account is\r
+     enough, but running the server as root is a security risk and\r
+     will not work.\r
+\r
+adduser postgres\r
+\r
+    \r
+   \r
+\r
+   \r
+    \r
+     Create a database installation with the initdb\r
+     command. To run initdb you must be logged in to your\r
+     PostgreSQL server account. It will not work as\r
+     root.\r
+\r
+root# mkdir /usr/local/pgsql/data\r
+root# chown postgres /usr/local/pgsql/data\r
+root# su - postgres\r
+postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data\r
+\r
+    \r
+\r
+    \r
+     The 
+     will be stored. You can use any path you want, it does not have\r
+     to be under the installation directory. Just make sure that the\r
+     server account can write to the directory (or create it, if it\r
+     doesn't already exist) before starting initdb, as\r
+     illustrated here.\r
+    \r
+   \r
+\r
+   \r
+    \r
+     The previous step should have told you how to start up the\r
+     database server. Do so now. The command should look something\r
+     like\r
+\r
+/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data\r
+\r
+     This will start the server in the foreground. To put the server\r
+     in the background use something like\r
+\r
+nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \\r
+    </dev/null >>server.log 2>&1 </dev/null &\r
+\r
+    \r
+\r
+    \r
+     To stop a server running in the background you can type\r
+\r
+kill `cat /usr/local/pgsql/data/postmaster.pid`\r
+\r
+    \r
+\r
+    \r
+     In order to allow TCP/IP connections (rather than only Unix\r
+     domain socket ones) you need to pass the 
+     postmaster.\r
+    \r
+   \r
+\r
+   \r
+    \r
+     Create a database:\r
+\r
+createdb testdb\r
+\r
+     Then enter\r
+\r
+psql testdb\r
+\r
+     to connect to that database. At the prompt you can enter SQL\r
+     commands and start experimenting.\r
+    \r
+   \r
+  \r
\r
+\r
\r
+  What Now?\r
+\r
+  \r
+   \r
+    \r
+     \r
+      The PostgreSQL distribution contains a\r
+      comprehensive documentation set, which you should read sometime.\r
+      After installation, the documentation can be accessed by\r
+      pointing your browser to\r
+      /usr/local/pgsql/doc/html/index.html, unless you\r
+      changed the installation directories.\r
+     \r
+\r
+     \r
+      The first few chapters of the main documentation are the Tutorial,\r
+      which should be your first reading if you are completely new to\r
+      SQL databases.  If you are familiar with database\r
+      concepts then you want to proceed with part on server\r
+      administration, which contains information about how to set up\r
+      the database server, database users, and authentication.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      Usually, you will want to modify your computer so that it will\r
+      automatically start the database server whenever it boots. Some\r
+      suggestions for this are in the documentation.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      Run the regression tests against the installed server (using\r
+      gmake installcheck). If you didn't run the\r
+      tests before installation, you should definitely do it now. This\r
+      is also explained in the documentation.\r
+     \r
+    \r
+\r
+    \r
+     \r
+      By default, PostgreSQL is configured to run on\r
+      minimal hardware.  This allows it to start up with almost any\r
+      hardware configuration. The default configuration is, however,\r
+      not designed for optimum performance. To achieve optimum\r
+      performance, several server parameters must be adjusted, the two\r
+      most common being shared_buffers and\r
+      work_mem.\r
+      Other parameters mentioned in the documentation also affect\r
+      performance.\r
+     \r
+    \r
+   \r
+  \r
\r
+]]>\r
+\r
+\r
\r
+  Supported Platforms\r
+\r
+  \r
+   PostgreSQL has been verified by the developer\r
+   community to work on the platforms listed below. A supported\r
+   platform generally means that PostgreSQL builds and\r
+   installs according to these instructions and that the regression\r
+   tests pass.  Build farm entries refer to builds\r
+   reported by the PostgreSQL\r
+   Build Farm.\r
+  \r
+\r
+  \r
+   \r
+    If you are having problems with the installation on a supported\r
+    platform, please write to [email protected]\r
+    or [email protected], not to the people\r
+    listed here.\r
+   \r
+  \r
+\r
+    \r
+     \r
+      \r
+       \r
+        OS\r
+        Processor\r
+        Version\r
+        Reported\r
+        Remarks\r
+       \r
+      \r
+      \r
+       \r
+        AIX\r
+        PowerPC\r
+        8.0.0\r
+        Travis P ([email protected]), 2004-12-12\r
+        see also doc/FAQ_AIX\r
+       \r
+       \r
+        AIX\r
+        RS6000\r
+        8.0.0\r
+        Hans-Jürgen Schönig ([email protected]), 2004-12-06\r
+        see also doc/FAQ_AIX\r
+       \r
+       \r
+        BSD/OS\r
+        x86\r
+        8.0.0\r
+        Bruce Momjian ([email protected]), 2004-12-07\r
+        4.3.1\r
+       \r
+       \r
+        Debian GNU/Linux\r
+        Alpha\r
+        7.4\r
+        Noèl Köthe ([email protected]), 2003-10-25\r
+        \r
+       \r
+       \r
+        Debian GNU/Linux\r
+        AMD64\r
+        8.0.0\r
+        Build farm panda, snapshot 2004-12-06 01:20:02\r
+        sid, kernel 2.6\r
+       \r
+       \r
+        Debian GNU/Linux\r
+        arm41\r
+        7.4\r
+        Noèl Köthe ([email protected]), 2003-10-25\r
+        \r
+       \r
+       \r
+        Debian GNU/Linux\r
+        Itanium\r
+        7.4\r
+        Noèl Köthe ([email protected]), 2003-10-25\r
+        \r
+       \r
+       \r
+        Debian GNU/Linux\r
+        m68k\r
+        8.0.0\r
+        Noèl Köthe ([email protected]), 2004-12-09\r
+        sid\r
+       \r
+       \r
+        Debian GNU/Linux\r
+        MIPS\r
+        8.0.0\r
+        Build farm lionfish, snapshot 2004-12-06 11:00:08\r
+        3.1 (sarge), kernel 2.4\r
+       \r
+       \r
+        Debian GNU/Linux\r
+        PA-RISC\r
+        8.0.0\r
+        Noèl Köthe ([email protected]), 2004-12-07\r
+        \r
+     \r
+       \r
+        Debian GNU/Linux\r
+        PowerPC\r
+        8.0.0\r
+        Noèl Köthe ([email protected]), 2004-12-15\r
+        \r
+       \r
+       \r
+        Debian GNU/Linux\r
+        S/390\r
+        7.4\r
+        Noèl Köthe ([email protected]), 2003-10-25\r
+        \r
+       \r
+       \r
+        Debian GNU/Linux\r
+        Sparc\r
+        8.0.0\r
+        Noèl Köthe ([email protected]), 2004-12-09\r
+        sid, 32-bit\r
+       \r
+       \r
+        Debian GNU/Linux\r
+        x86\r
+        8.0.0\r
+        Peter Eisentraut ([email protected]), 2004-12-06\r
+        3.1 (sarge), kernel 2.6\r
+       \r
+       \r
+        Fedora\r
+        AMD64\r
+        8.0.0\r
+        John Gray ([email protected]), 2004-12-12\r
+        FC3\r
+       \r
+       \r
+        Fedora\r
+        x86\r
+        8.0.0\r
+        Build farm dog, snapshot 2004-12-06 02:06:01\r
+        FC1\r
+       \r
+       \r
+        FreeBSD\r
+        Alpha\r
+        7.4\r
+        Peter Eisentraut ([email protected]), 2003-10-25\r
+        4.8\r
+       \r
+       \r
+        FreeBSD\r
+        x86\r
+        8.0.0\r
+        Build farm cockatoo, snapshot 2004-12-06 14:10:01 (4.10);\r
+         Marc Fournier ([email protected]), 2004-12-07 (5.3)\r
+        \r
+       \r
+       \r
+        Gentoo Linux\r
+        x86\r
+        8.0.0\r
+        Paul Bort ([email protected]), 2004-12-07\r
+        \r
+       \r
+       \r
+        HP-UX\r
+        PA-RISC\r
+        7.4\r
+        \r
+         Tom Lane ([email protected]), 2003-10-31 (10.20);\r
+         Peter Eisentraut ([email protected]), 2003-11-04 (11.00)\r
+        \r
+        gcc and cc; see also doc/FAQ_HPUX\r
+       \r
+       \r
+        IRIX\r
+        MIPS\r
+        7.4\r
+        Robert E. Bruccoleri ([email protected]), 2003-11-12\r
+        6.5.20, cc only\r
+       \r
+       \r
+        Mac OS X\r
+        PowerPC\r
+        8.0.0\r
+        Andrew Rawnsley ([email protected]), 2004-12-07\r
+        10.3.5\r
+       \r
+       \r
+        Mandrakelinux\r
+        x86\r
+        8.0.0\r
+        Build farm shrew, snapshot 2004-12-06 02:02:01\r
+        10.0\r
+       \r
+       \r
+        NetBSD\r
+        arm32\r
+        7.4\r
+        Patrick Welche ([email protected]), 2003-11-12\r
+        1.6ZE/acorn32\r
+       \r
+       \r
+        NetBSD\r
+        Sparc\r
+        7.4.1\r
+        Peter Eisentraut ([email protected]), 2003-11-26\r
+        1.6.1, 32-bit\r
+       \r
+       \r
+        NetBSD\r
+        x86\r
+        8.0.0\r
+        Build farm canary, snapshot 2004-12-06 03:30:00\r
+        1.6\r
+       \r
+       \r
+        OpenBSD\r
+        Sparc\r
+        7.4\r
+        Peter Eisentraut ([email protected]), 2003-11-01\r
+        3.4\r
+       \r
+       \r
+        OpenBSD\r
+        x86\r
+        8.0.0\r
+        Build farm emu, snapshot 2004-12-06 11:35:03\r
+        3.6\r
+       \r
+       \r
+        Red Hat Linux\r
+        AMD64\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Red Hat Linux\r
+        IA64\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Red Hat Linux\r
+        PowerPC\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Red Hat Linux\r
+        PowerPC 64\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Red Hat Linux\r
+        S/390\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Red Hat Linux\r
+        S/390x\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Red Hat Linux\r
+        x86\r
+        8.0.0\r
+        Tom Lane ([email protected]), 2004-12-07\r
+        RHEL 3AS\r
+       \r
+       \r
+        Solaris\r
+        Sparc\r
+        8.0.0\r
+        Kenneth Marshall ([email protected]), 2004-12-07\r
+        Solaris 8; see also doc/FAQ_Solaris\r
+       \r
+       \r
+        Solaris\r
+        x86\r
+        8.0.0\r
+        Build farm kudu, snapshot 2004-12-10 02:30:04 (cc);\r
+          dragonfly, snapshot 2004-12-09 04:30:00 (gcc)\r
+        Solaris 9; see also doc/FAQ_Solaris\r
+       \r
+       \r
+        Tru64 UNIX\r
+        Alpha\r
+        7.4\r
+        Peter Eisentraut ([email protected]), 2003-10-25 (5.1b);\r
+         Alessio Bragadini ([email protected]), 2003-10-29 (4.0g)\r
+        \r
+       \r
+       \r
+        UnixWare\r
+        x86\r
+        8.0.0\r
+        Peter Eisentraut ([email protected]), 2004-12-14\r
+        cc, 7.1.4; see also doc/FAQ_SCO\r
+       \r
+       \r
+        Windows\r
+        x86\r
+        8.0.0\r
+        Dave Page ([email protected]), 2004-12-07\r
+        see doc/FAQ_MINGW\r
+       \r
+       \r
+        Windows with Cygwin\r
+        x86\r
+        8.0.0\r
+        Build farm gibbon, snapshot 2004-12-11 01:33:01\r
+        see doc/FAQ_CYGWIN\r
+       \r
+      \r
+     \r
+    \r
+\r
+  \r
+   Unsupported Platforms:\r
+   \r
+    The following platforms are either known not to work, or they used\r
+    to work in a previous release and we did not receive explicit\r
+    confirmation of a successful test with version &majorversion; at\r
+    the time this list was compiled.  We include these here to let you\r
+    know that these platforms could be supported if given\r
+    some attention.\r
+   \r
+  \r
+\r
+  \r
+   \r
+    \r
+     \r
+      OS\r
+      Processor\r
+      Version\r
+      Reported\r
+      Remarks\r
+     \r
+    \r
+\r
+    \r
+     \r
+      BeOS\r
+      x86\r
+      7.2\r
+      2001-11-29,\r
+       Cyril Velter ([email protected])\r
+      needs updates to semaphore code\r
+     \r
+     \r
+      Linux\r
+      PlayStation 2\r
+      7.4\r
+      2003-11-02,\r
+       Peter Eisentraut ([email protected])\r
+      \r
+       needs new config.guess,\r
+       \r
+      \r
+     \r
+     \r
+      NetBSD\r
+      Alpha\r
+      7.2\r
+      2001-11-20,\r
+       Thomas Thai ([email protected])\r
+      1.5W\r
+     \r
+     \r
+      NetBSD\r
+      MIPS\r
+      7.2.1\r
+      2002-06-13,\r
+       Warwick Hunter ([email protected])\r
+      1.5.3\r
+     \r
+     \r
+      NetBSD\r
+      PowerPC\r
+      7.2\r
+      2001-11-28,\r
+       Bill Studenmund ([email protected])\r
+      1.5\r
+     \r
+     \r
+      NetBSD\r
+      VAX\r
+      7.1\r
+      2001-03-30,\r
+       Tom I. Helbekkmo ([email protected])\r
+      1.5\r
+     \r
+     \r
+      QNX 4 RTOS\r
+      x86\r
+      7.2\r
+      2001-12-10,\r
+       Bernd Tegge ([email protected])\r
+      \r
+      needs updates to semaphore code;\r
+       see also doc/FAQ_QNX4\r
+     \r
+     \r
+      QNX RTOS v6\r
+      x86\r
+      7.2\r
+      2001-11-20, Igor Kovalenko ([email protected])\r
+      patches available in archives, but too late for 7.2\r
+     \r
+     \r
+      SCO OpenServer\r
+      x86\r
+      7.3.1\r
+      2002-12-11, \r
+       Shibashish Satpathy ([email protected])\r
+      5.0.4, gcc;  see also doc/FAQ_SCO\r
+     \r
+     \r
+      SunOS 4\r
+      Sparc\r
+      7.2\r
+      2001-12-04, Tatsuo Ishii ([email protected])\r
+      \r
+     \r
+    \r
+   \r
+  \r
\r
+\r
+\r
+\r
+\r