共有ライブラリを持つシステム(ほとんどのシステムが持ちますが)の中には、新しくインストールされた共有ライブラリを探す場所をシステムに通知する必要があるものがあります。 これが必要ではないシステムは BSD/OS、FreeBSD、HP-UX、IRIX、Linux、NetBSD、OpenBSD、Tru64 UNIX(以前はDigital UNIX)、および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://www.visi.com/~barr/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
この場合は処置を行ってください。
BSD/OS、LinuxまたはSunOS 4を使用していて、root権限があれば、
/sbin/ldconfig /usr/local/pgsql/lib
(または同等のディレクトリ)をインストール後に実行して、実行時リンカが共有ライブラリを素早く検索できるようにできます。 より詳細についてはldconfigのマニュアルページを参照してください。 FreeBSD、NetBSDおよびOpenBSDの場合のコマンドは以下の通りです。
/sbin/ldconfig -m /usr/local/pgsql/lib
同様なコマンドを持つ他のシステムは知られていません。
もし/usr/local/pgsqlか、もしくはデフォルトでプログラムが検索されない場所にインストールした場合、/usr/local/pgsql/bin(もしくはステップ1で--bindir
に設定した場所)をPATHに追加する必要があります。
厳密に言えば、これは必要ではありません。
しかし、これによって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/man:$MANPATH export MANPATH
環境変数PGHOSTとPGPORTは、クライアントアプリケーションにデータベースサーバのホストとポートを指定し、コンパイル時に決定されたデフォルト値を無効にします。 クライアントアプリケーションをリモートで実行する場合、データベースを使用する予定の全てのユーザがPGHOSTを設定していると便利です。 しかしこれは必須ではありません。 この設定は、ほとんどのクライアントプログラムのコマンドラインオプションでも設定することができます。