14.6. インストール後の設定作業

14.6.1. 共有ライブラリ

共有ライブラリを持つシステム (ほとんどのシステムが持ちますが) の中には、新しくインストールされた共有ライブラリを探す場所をシステムに通知する必要があるものがあります。 これが必要ではないシステムは BSD/OSFreeBSDHP-UXIRIXLinuxNetBSDOpenBSDTru64 UNIX (以前はDigital UNIX)、および Solaris です。

共有ライブラリの検索パスを設定する方法は、プラットフォームによって異なります。 しかし、最もよく使用される方法は LD_LIBRARY_PATH といった環境変数を以下のように設定することです。 Bourne シェル系 (shkshbashzsh) では、

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.sorld)を参照してください。 もし後に下記のようなメッセージが出たら、このステップが必要だったということです。

psql: error in loading shared libraries
libpq.so.2.1: cannot open shared object file: No such file or directory

この場合は処置を行ってください。

BSD/OSLinux または SunOS 4 を使用していて、root 権限があれば、

/sbin/ldconfig /usr/local/pgsql/lib

(または同等のディレクトリ) をインストール後に実行して、実行時リンカが共有ライブラリを素早く検索できるようにできます。 より詳細については ldconfig のマニュアルページを参照して下さい。 FreeBSDNetBSD および OpenBSD の場合のコマンドは以下の通りです。

/sbin/ldconfig -m /usr/local/pgsql/lib

同様なコマンドを持つ他のシステムは知られていません。

14.6.2. 環境変数

もし /usr/local/pgsql か、もしくはデフォルトでプログラムが検索されない場所にインストールした場合、/usr/local/pgsql/bin (もしくは ステップ1--bindir に設定した場所)を PATH に追加する必要があります。 厳密に言えば、これは必要ではありません。 しかし、これによって PostgreSQL の使用がずっと便利になります。

これを行うためには、以下を ~/.bash_profile(もしくは、もしすべてのユーザーに反映したい場合は /etc/profile) のようなシェルの起動ファイルに追加して下さい。

PATH=/usr/local/pgsql/bin:$PATH
export PATH

cshtcsh を使用している場合は、以下のコマンドを使用して下さい。

set path = ( /usr/local/pgsql/bin $path )

デフォルトで検索される場所にインストールした場合を除き、システムが man ドキュメントを検索できるようにするためには、以下の行をシェルの起動ファイルに追加する必要があります。

MANPATH=/usr/local/pgsql/man:$MANPATH
export MANPATH

環境変数 PGHOSTPGPORT は、クライアントアプリケーションにデータベースサーバのホストとポートを指定し、コンパイル時に決定されたデフォルト値を無効にします。 クライアントアプリケーションをリモートで実行する場合、データベースを使用する予定の全てのユーザが PGHOST を設定していたら便利です。 しかしこれは必須ではありません。 この設定は、ほとんどのクライアントプログラムのコマンドラインオプションでも設定することができます。