On some systems with shared libraries you need to tell the system how to find the newly installed shared libraries. The systems on which this is not necessary include FreeBSD, HP-UX, Linux, NetBSD, OpenBSD, and Solaris.
The method to set the shared library search path varies between platforms, but the most widely-used method is to set the environment variable
LD_LIBRARY_PATH like so: In Bourne shells (
LD_LIBRARY_PATH=/usr/local/pgsql/lib export LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
/usr/local/pgsql/lib with whatever you set
to in Step 1. You should put these commands into a shell start-up file such as
~/.bash_profile. Some good information about the caveats associated with this method can be found at http://xahlee.org/UnixResource_dir/_/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
If in doubt, refer to the manual pages of your system (perhaps
rld). If you later 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.
(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, NetBSD, and OpenBSD the command is:
/sbin/ldconfig -m /usr/local/pgsql/lib
instead. Other systems are not known to have an equivalent command.
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
to in Step 1) 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
/etc/profile, if you want it to affect all users):
PATH=/usr/local/pgsql/bin:$PATH export PATH
If you are using
tcsh, then use this command:
set path = ( /usr/local/pgsql/bin $path )
MANPATH=/usr/local/pgsql/share/man:$MANPATH export MANPATH
The environment variables
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.