16.5. Действия после установки
16.5.1. Разделяемые библиотеки
В некоторых системах с разделяемыми библиотеками необходимо указать системе, как найти недавно установленные разделяемые библиотеки. К числу систем, где это не требуется, относятся FreeBSD, HP-UX, Linux, NetBSD, OpenBSD и Solaris.
Путь поиска разделяемых библиотек на разных платформах может устанавливаться по-разному, но наиболее распространённый способ — установить переменную окружения LD_LIBRARY_PATH, например так: в оболочках Bourne (sh, ksh, bash, zsh):
LD_LIBRARY_PATH=/usr/local/pgsql/lib export LD_LIBRARY_PATH
или в csh, tcsh:
setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
Замените /usr/local/pgsql/lib значением, переданным Шаг 1 в . Эти команды следует поместить в стартовый файл оболочки, например, в --libdir/etc/profile или ~/.bash_profile. Полезные предостережения об использовании этого метода приведены на странице http://xahlee.info/UnixResource_dir/_/ldpath.html.
В некоторых системах предпочтительнее установить переменную окружения LD_RUN_PATH до сборки.
В Cygwin добавьте каталог с библиотеками в PATH или переместите файлы .dll в каталог bin.
В случае сомнений обратитесь к страницам руководства по вашей системе (возможно, к справке по ld.so или rld). Если вы позже получаете сообщение:
psql: error in loading shared libraries libpq.so.2.1: cannot open shared object file: No such file or directory
(psql: ошибка при загрузке разделяемых библиотек libpq.so.2.1: не удалось открыть разделяемый объектный файл: Нет такого файла или каталога), значит этот шаг был необходим. Тогда вам просто нужно вернуться к нему.
Если вы используете Linux и имеете права root, вы можете запустить:
/sbin/ldconfig /usr/local/pgsql/lib
(возможно, с другим каталогом) после установки, чтобы механизм связывания во время выполнения мог найти разделяемые библиотеки быстрее. За дополнительными сведениями обратитесь к странице руководства по ldconfig. Во FreeBSD, NetBSD и OpenBSD команда будет такой:
/sbin/ldconfig -m /usr/local/pgsql/lib
В других системах подобной команды может не быть.
16.5.2. Переменные окружения
Если целевым каталогом был выбран /usr/local/pgsql или какой-то другой, по умолчанию отсутствующий в пути поиска, вам следует добавить /usr/local/pgsql/bin (или другой путь, переданный Шаг 1 в указании ) в вашу переменную --bindirPATH. Строго говоря, это не обязательно, но при этом использовать PostgreSQL будет гораздо удобнее.
Для этого добавьте в ваш скрипт запуска оболочки, например ~/.bash_profile (или в /etc/profile, если это нужно всем пользователям):
PATH=/usr/local/pgsql/bin:$PATH export PATH
Для оболочек csh или tcsh команда должна быть такой:
set path = ( /usr/local/pgsql/bin $path )
Чтобы ваша система могла найти документацию man, вам нужно добавить в скрипт запуска оболочки примерно следующие строки, если только она не установлена в размещение, просматриваемое по умолчанию:
MANPATH=/usr/local/pgsql/share/man:$MANPATH export MANPATH
Переменные окружения PGHOST и PGPORT задают для клиентских приложений адрес компьютера и порт сервера базы данных, переопределяя стандартные значения. Если планируется запускать клиентские приложения удалённо, пользователям, которые будут использовать определённый сервер, будет удобно, если они установят PGHOST. Однако это не обязательно, так как большинство клиентских программ могут принять эти параметры через аргументы командной строки.
16.5. Post-Installation Setup
16.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, 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 (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 to in Step 1. You should put these commands into a shell start-up file such as --libdir/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.
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.
16.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 to in Step 1) into your --bindirPATH. 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.