mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Mention that 'make distclean' is a good idea when changing configure
options. Document --with-pam and --enable-depend, do some minor copy-editing.
This commit is contained in:
parent
1a712718ca
commit
75f0ba9fe3
@ -1,4 +1,4 @@
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.73 2002/01/09 00:52:37 petere Exp $ -->
|
||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.74 2002/01/20 05:45:18 tgl Exp $ -->
|
||||
|
||||
<chapter id="installation">
|
||||
<title><![%standalone-include[<productname>PostgreSQL</>]]>
|
||||
@ -39,7 +39,7 @@ su - postgres
|
||||
<para>
|
||||
In general, a modern Unix-compatible platform should be able to run
|
||||
<productname>PostgreSQL</>.
|
||||
The platforms that had received explicit testing at the
|
||||
The platforms that had received specific testing at the
|
||||
time of release are listed in <xref linkend="supported-platforms">
|
||||
below. In the <filename>doc</> subdirectory of the distribution
|
||||
there are several platform-specific <acronym>FAQ</> documents you
|
||||
@ -79,7 +79,11 @@ su - postgres
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><application>gzip</></para>
|
||||
<para>
|
||||
<application>gzip</> is needed to unpack the distribution in the
|
||||
first place. If you are reading this, you probably already got
|
||||
past that hurdle.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
@ -88,10 +92,10 @@ su - postgres
|
||||
<primary>readline</primary>
|
||||
</indexterm>
|
||||
|
||||
The <acronym>GNU</> <productname>Readline</> library for comfortable
|
||||
line editing and command history retrieval will automatically be used
|
||||
The <acronym>GNU</> <productname>Readline</> library (for comfortable
|
||||
line editing and command history retrieval) will automatically be used
|
||||
if found. You might wish to install it before proceeding, but it is not
|
||||
required. (On <productname>NetBSD</productname>, the
|
||||
essential. (On <productname>NetBSD</productname>, the
|
||||
<filename>libedit</filename> library is
|
||||
<productname>readline</productname>-compatible and is used if
|
||||
<filename>libreadline</filename> is not found.)
|
||||
@ -110,15 +114,17 @@ su - postgres
|
||||
<primary>yacc</primary>
|
||||
</indexterm>
|
||||
|
||||
<application>Flex</> and <application>Bison</> are
|
||||
<acronym>GNU</> <application>Flex</> and <application>Bison</> are
|
||||
needed to build from scratch, but they are
|
||||
<emphasis>not</> required when building from a released source
|
||||
package because the output files are pre-generated. You will
|
||||
need these programs only when building from a CVS tree or when
|
||||
the actual scanner and parser definition files were changed. If
|
||||
package because pre-generated output files are included in released
|
||||
packages. You will
|
||||
need these programs only when building from a CVS tree or if you
|
||||
changed the actual scanner and parser definition files. If
|
||||
you need them, be sure to get <application>Flex</> 2.5.4 or
|
||||
later and <application>Bison</> 1.28 or later. Other <application>yacc</>
|
||||
programs can sometimes be used, but doing so requires extra
|
||||
efforts and is not recommended. Other <application>lex</> programs will
|
||||
effort and is not recommended. Other <application>lex</> programs will
|
||||
definitely not work.
|
||||
</para>
|
||||
</listitem>
|
||||
@ -220,9 +226,13 @@ su - postgres
|
||||
<screen>
|
||||
<userinput>pg_dumpall > <replaceable>outputfile</></userinput>
|
||||
</screen>
|
||||
If you need to preserve the OIDs (such as when using them as
|
||||
If you need to preserve OIDs (such as when using them as
|
||||
foreign keys), then use the <option>-o</option> option when running
|
||||
<command>pg_dumpall</>. <command>pg_dumpall</command> does not
|
||||
<command>pg_dumpall</>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>pg_dumpall</command> does not
|
||||
save large objects. Check
|
||||
<![%standalone-include[the <citetitle>Administrator's Guide</>]]>
|
||||
<![%standalone-ignore[<xref linkend="backup-dump-caveats">]]>
|
||||
@ -258,7 +268,7 @@ su - postgres
|
||||
<screen>
|
||||
<userinput>/etc/rc.d/init.d/postgresql stop</userinput>
|
||||
</screen>
|
||||
works.
|
||||
works. Another possibility is <userinput>pg_ctl stop</>.
|
||||
</para>
|
||||
</step>
|
||||
|
||||
@ -266,7 +276,8 @@ su - postgres
|
||||
<para>
|
||||
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 still need it later on. Use a command like this:
|
||||
way, in case you have trouble and need to revert to it.
|
||||
Use a command like this:
|
||||
<screen>
|
||||
<userinput>mv /usr/local/pgsql /usr/local/pgsql.old</>
|
||||
</screen>
|
||||
@ -323,13 +334,13 @@ su - postgres
|
||||
</screen>
|
||||
This script will run a number of tests to guess values for various
|
||||
system dependent variables and detect some quirks of your
|
||||
operating system, and finally creates several files in the build
|
||||
operating system, and finally will create several files in the build
|
||||
tree to record what it found.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The default configuration will build the server and utilities, as
|
||||
well as all client applications and interfaces that only require a
|
||||
well as all client applications and interfaces that require only a
|
||||
C compiler. All files will be installed under
|
||||
<filename>/usr/local/pgsql</> by default.
|
||||
</para>
|
||||
@ -493,8 +504,9 @@ su - postgres
|
||||
<replaceable>DIRECTORIES</> is a colon-separated list of
|
||||
directories that will be added to the list the compiler
|
||||
searches for header files. If you have optional packages
|
||||
(such as GNU <application>Readline</>) installed in a non-standard location
|
||||
you have to use this option and probably the corresponding
|
||||
(such as GNU <application>Readline</>) installed in a non-standard
|
||||
location,
|
||||
you have to use this option and probably also the corresponding
|
||||
<option>--with-libraries</> option.
|
||||
</para>
|
||||
<para>
|
||||
@ -565,13 +577,13 @@ su - postgres
|
||||
<listitem>
|
||||
<para>
|
||||
Enables Native Language Support (<acronym>NLS</acronym>), that is, the ability
|
||||
to display a program's message in a language other than
|
||||
to display a program's messages in a language other than
|
||||
English. <replaceable>LANGUAGES</replaceable> is a space
|
||||
separated list of codes of the languages that you want
|
||||
supported, for example <literal>--enable-nls='de fr'</>.
|
||||
(The intersection between your list and the set
|
||||
of actually provided translations will be computed
|
||||
automatically.) If you do not specify it, then all available
|
||||
automatically.) If you do not specify a list, then all available
|
||||
translations are installed.
|
||||
</para>
|
||||
|
||||
@ -607,7 +619,9 @@ su - postgres
|
||||
server and clients. The default is 5432. The port can always
|
||||
be changed later on, but if you specify it here then both
|
||||
server and clients will have the same default compiled in,
|
||||
which can be very convenient.
|
||||
which can be very convenient. Usually the only good reason
|
||||
to select a non-default value is if you intend to run multiple
|
||||
<productname>PostgreSQL</> servers on the same machine.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -682,12 +696,12 @@ su - postgres
|
||||
<listitem>
|
||||
<para>
|
||||
Tcl/Tk installs the files <filename>tclConfig.sh</filename> and
|
||||
<filename>tkConfig.sh</filename> which contain certain
|
||||
configuration information that is needed to build modules
|
||||
<filename>tkConfig.sh</filename>, which contain
|
||||
configuration information needed to build modules
|
||||
interfacing to Tcl or Tk. These files are normally found
|
||||
automatically at their well-known location, but if you want to
|
||||
automatically at their well-known locations, but if you want to
|
||||
use a different version of Tcl or Tk you can specify the
|
||||
directory where to find them.
|
||||
directory in which to find them.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -744,6 +758,21 @@ su - postgres
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--with-java</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Build the <acronym>JDBC</acronym> driver and associated Java
|
||||
packages. This option requires
|
||||
<application>Ant</application> to be installed (as well as a
|
||||
<acronym>JDK</acronym>, of course). Refer to the
|
||||
<acronym>JDBC</acronym> driver documentation in the
|
||||
<citetitle>Programmer's Guide</citetitle> for more
|
||||
information.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--with-krb4<optional>=<replaceable>DIRECTORY</></></option></term>
|
||||
<term><option>--with-krb5<optional>=<replaceable>DIRECTORY</></></option></term>
|
||||
@ -754,7 +783,7 @@ su - postgres
|
||||
<replaceable>DIRECTORY</> argument specifies the root
|
||||
directory of the Kerberos installation;
|
||||
<filename>/usr/athena</> is assumed as default. If the
|
||||
relevant headers files and libraries are not under a common
|
||||
relevant header files and libraries are not under a common
|
||||
parent directory, then you must use the
|
||||
<option>--with-includes</> and <option>--with-libraries</>
|
||||
options in addition to this option. If, on the other hand,
|
||||
@ -807,16 +836,11 @@ su - postgres
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--with-java</option></term>
|
||||
<term><option>--with-pam</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Build the <acronym>JDBC</acronym> driver and associated Java
|
||||
packages. This option requires
|
||||
<application>Ant</application> to be installed (as well as a
|
||||
<acronym>JDK</acronym>, of course). Refer to the
|
||||
<acronym>JDBC</acronym> driver documentation in the
|
||||
<citetitle>Programmer's Guide</citetitle> for more
|
||||
information.
|
||||
Build with <acronym>PAM</> (Pluggable Authentication Modules)
|
||||
support.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -828,7 +852,7 @@ su - postgres
|
||||
Enables the <productname>PostgreSQL</> server to use the
|
||||
<systemitem>syslog</> logging facility. (Using this option does not mean
|
||||
that you must log with <systemitem>syslog</> or even that it will be done
|
||||
by default, it simply makes it possible to turn this option
|
||||
by default, it simply makes it possible to turn that option
|
||||
on at run time.)
|
||||
</para>
|
||||
</listitem>
|
||||
@ -846,7 +870,7 @@ su - postgres
|
||||
having the symbols available is extremely helpful for dealing
|
||||
with any problems that may arise. Currently, this option is
|
||||
recommended for production installations only if you use GCC.
|
||||
But you should have it on if you are doing development work
|
||||
But you should always have it on if you are doing development work
|
||||
or running a beta version.
|
||||
</para>
|
||||
</listitem>
|
||||
@ -869,18 +893,33 @@ su - postgres
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--enable-depend</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enables automatic dependency tracking. With this option, the
|
||||
makefiles are set up so that all affected object files will
|
||||
be rebuilt when any header file is changed. This is useful
|
||||
if you are doing development work, but is just wasted overhead
|
||||
if you intend only to compile once and install. At present,
|
||||
this option will work only if you use GCC.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you prefer a C or C++ compiler different from the one
|
||||
<filename>configure</filename> picks then you can set the
|
||||
environment variables <envar>CC</> and <envar>CXX</envar>,
|
||||
environment variables <envar>CC</> or <envar>CXX</envar>,
|
||||
respectively, to the program of your choice. Similarly, you can
|
||||
override the default compiler flags with the <envar>CFLAGS</envar>
|
||||
and <envar>CXXFLAGS</envar> variables. For example:
|
||||
<screen>
|
||||
<userinput>env CC=/opt/bin/gcc CFLAGS='-02 -pipe' ./configure</>
|
||||
<userinput>env CC=/opt/bin/gcc CFLAGS='-O2 -pipe' ./configure</>
|
||||
</screen>
|
||||
</para>
|
||||
</step>
|
||||
@ -894,8 +933,8 @@ su - postgres
|
||||
<userinput>gmake</userinput>
|
||||
</screen>
|
||||
(Remember to use <acronym>GNU</> <application>make</>.) The build
|
||||
can take anywhere from 5 minutes to half an hour. The last line
|
||||
displayed should be
|
||||
may take anywhere from 5 minutes to half an hour depending on your
|
||||
hardware. The last line displayed should be
|
||||
<screen>
|
||||
All of PostgreSQL is successfully made. Ready to install.
|
||||
</screen>
|
||||
@ -936,7 +975,7 @@ All of PostgreSQL is successfully made. Ready to install.
|
||||
<note>
|
||||
<para>
|
||||
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
|
||||
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
|
||||
<xref linkend="install-upgrading"> above.
|
||||
</para>
|
||||
@ -971,7 +1010,7 @@ All of PostgreSQL is successfully made. Ready to install.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The standard installation contains only the header files needed for client
|
||||
The standard installation provides only the header files needed for client
|
||||
application development. If you plan to do any server-side program
|
||||
development (such as custom functions or data types written in C),
|
||||
then you may want to install the entire <productname>PostgreSQL</>
|
||||
@ -1001,7 +1040,7 @@ All of PostgreSQL is successfully made. Ready to install.
|
||||
|
||||
<para>
|
||||
To undo the installation use the command <command>gmake
|
||||
uninstall</>. However, this will not remove any directories.
|
||||
uninstall</>. However, this will not remove any created directories.
|
||||
</para>
|
||||
</step>
|
||||
</procedure>
|
||||
@ -1009,7 +1048,7 @@ All of PostgreSQL is successfully made. Ready to install.
|
||||
<para>
|
||||
After the installation you can make room by removing the built
|
||||
files from the source tree with the <command>gmake clean</>
|
||||
command. This will preserve the choices made by the configure
|
||||
command. This will preserve the files made by the configure
|
||||
program, so that you can rebuild everything with <command>gmake</>
|
||||
later on. To reset the source tree to the state in which it was
|
||||
distributed, use <command>gmake distclean</>. If you are going to
|
||||
@ -1017,6 +1056,15 @@ All of PostgreSQL is successfully made. Ready to install.
|
||||
this and re-configure for each build.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you perform a build and then discover that your configure options
|
||||
were wrong, or if you change anything that configure investigates
|
||||
(for example, you install GNU <application>Readline</>), then it's
|
||||
a good idea to do <command>gmake distclean</> before reconfiguring
|
||||
and rebuilding. Without this, your changes in configuration choices
|
||||
may not propagate everywhere they need to.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="install-post">
|
||||
@ -1127,7 +1175,7 @@ libpq.so.2.1: cannot open shared object file: No such file or directory
|
||||
<para>
|
||||
If you installed into <filename>/usr/local/pgsql</> or some other
|
||||
location that is not searched for programs by default, you need to
|
||||
add <filename>/usr/local/pgsql/bin</> (or what you set
|
||||
add <filename>/usr/local/pgsql/bin</> (or whatever you set
|
||||
<option><literal>--bindir</></> to in <xref linkend="configure">)
|
||||
into your <envar>PATH</>. To do this, add the following to your
|
||||
shell start-up file, such as <filename>~/.bash_profile</> (or
|
||||
@ -1159,8 +1207,8 @@ MANPATH=/usr/local/pgsql/man:$MANPATH
|
||||
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 <envar>PGHOST</>, but it
|
||||
is not required and the settings can be communicated via command
|
||||
user that plans to use the database sets <envar>PGHOST</>. This
|
||||
is not required, however: the settings can be communicated via command
|
||||
line options to most client programs.
|
||||
</para>
|
||||
</sect2>
|
||||
|
Loading…
x
Reference in New Issue
Block a user