共有ライブラリを持つ何らかのシステムの中には、新しくインストールされた共有ライブラリを探す場所をシステムに通知する必要があるものがあります。 これが必要ではないシステムは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.org/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
この場合は処置を行ってください。
/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/share/man:$MANPATH export MANPATH
環境変数PGHOST
とPGPORT
は、クライアントアプリケーションにデータベースサーバのホストとポートを指定し、コンパイル時に決定されたデフォルト値を無効にします。
クライアントアプリケーションをリモートで実行する場合、データベースを使用する予定の全てのユーザがPGHOST
を設定していると便利です。
しかしこれは必須ではありません。
この設定は、ほとんどのクライアントプログラムのコマンドラインオプションでも設定することができます。