-
+
PostgreSQL> ]]>Installation Instructions
Short Version
-<programlisting>
+<synopsis>
./configure
gmake
gmake install
/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
-programlisting>
+synopsis>
The long version is the rest of this
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
+
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,
On systems which have
PostgreSQL> started at boot time, there is
probably a start-up file that will accomplish the same thing. For
example, on a Redhat Linux system one might find that
-<programlisting>
-/etc/rc.d/init.d/postgres.init stop
-programlisting>
+<screen>
+/etc/rc.d/init.d/postgres.init stop
+screen>
works.
The first step of the installation procedure is to configure the
source tree for your system and choose the options you would like.
This is done by running the configure> script. For a
- default installation simply type
+ default installation simply enter
./configure
- You can customize the build and installation process by giving one
+ You can customize the build and installation process by supplying one
or more of the following command line options to
configure:
--with-CXX
- Build the C++ interface library. configure> will
- automatically pick the C++ compiler that goes with the C
- compiler you are using. It is not recommended or supported to
- use C and C++ compilers of different origin in the same
- build.
+ Build the C++ interface library.
- You can set the CC> environment variable to choose the C
- compiler to use. If you don't then configure> will
- look for one. For example:
+ If you prefer a C or C++ compiler different from the one
+ configure picks then you can set the
+ environment variables CC> and CXX,
+ respectively, to the program of your choice. Similarly, you can
+ override the default compiler flags with the CFLAGS
+ and CXXFLAGS variables. For example:
-CC=/opt/bin/gcc ./configure>
+env CC=/opt/bin/gcc CFLAGS='-02 -pipe' ./configure>
Shared Libraries
- On most systems that have shared libraries (which most systems do)
+ 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. How to do this 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)
+ shared libraries. The systems on which this is
+ not necessary include FreeBSD, HP/UX, Irix,
+ Linux, NetBSD, OpenBSD, OSF/1 (Digital Unix, Tru64 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
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>.
+ /etc/profile> or ~/.bash_profile>. Some
+ good information about the caveats associated with the method can
+ be found at
+ url="http://www.visi.com/~barr/ldpath.html">http://www.visi.com/~barr/ldpath.html.
+
+
+ On some systems it might be preferrable to set the environment
+ variable LD_RUN_PATH before
+ building.
+
- If in doubt, refer to the manual pages of your system. If you later
+ 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
then this step was necessary. Simply take care of it then.
-
- Create the
PostgreSQL> server account. 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 therefore not allowed.
+ 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>