---
title: "Post-Installation Setup"
id: install-post
pg_version: "20devel"
---
## 17.5. Post-Installation Setup
### 17.5.1. Shared Libraries
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, 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 (`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 `--libdir` to in [Step 1](install-make.md#configure). 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 [http://xahlee.info/UnixResource_dir/_/ldpath.html](http://xahlee.info/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 `bin` directory.
If in doubt, refer to the manual pages of your system (perhaps `ld.so` or `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.
If you are on Linux 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, NetBSD, and OpenBSD the command is:
/sbin/ldconfig -m /usr/local/pgsql/lib
instead. Other systems are not known to have an equivalent command.
### 17.5.2. Environment Variables
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 `--bindir` to in [Step 1](install-make.md#configure)) 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 all users):
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 )
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/share/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.