4. Slony-I インストレーション

前に記述した手順で Slony-I を入手してください。そして解凍します。

gunzip slony.tar.gz;
tar xf slony.tar

これで現在のディレクトリの下に Slony-I ソースのディレクトリが生成されます。

4.1. 短縮バージョン

PGMAIN=/usr/local/pgsql746-freebsd-2005-04-01 \
./configure \
    --prefix=$PGMAIN \
    --bindir=$PGMAIN/bin \
    --datadir=$PGMAIN/share \
    --libdir=$PGMAIN/lib \
    --with-pgconfigdir=$PGMAIN/bin \
    --with-pgbindir=$PGMAIN/bin \
    --with-pgincludedir=$PGMAIN/include \
    --with-pglibdir=$PGMAIN/lib \
    --with-pgsharedir=$PGMAIN/share
gmake all; gmake install

4.2. 構成

インストレーションの最初の手順はインストール対象のシステム用にソースツリーを構成することです。構成は configure スクリプトを走らせることで行なわれます。初期のバージョンで configure--with-pgsourcetree= オプションを付けて PostgreSQL のソースツリーを指定する必要がありました。 バージョン 1.1 現在では必要が無くなりました。というのは、プラットフォーム移植性に必要なある部品を Slony-I 自体のコードベースに採り入れたからです。現在では PostgreSQL のインストレーションの一部であるパーツを参照するだけです。ですから、Slony-I は多様なライブラリ、バイナリ、およびインクルードディレクトリを指し示すことで構成されます。これらのオプションは ./configure --help コマンドで一覧できます。

4.3. 例

PGMAIN=/opt/dbs/pgsql746-aix-2005-04-01 \
./configure \
    --prefix=$PGMAIN \
    --bindir=$PGMAIN/bin \
    --datadir=$PGMAIN/share \
    --libdir=$PGMAIN/lib \
    --with-pgconfigdir=$PGMAIN/bin \
    --with-pgbindir=$PGMAIN/bin \
    --with-pgincludedir=$PGMAIN/include \
    --with-pglibdir=$PGMAIN/lib \
    --with-pgsharedir=$PGMAIN/share

configure スクリプトは各種の依存変数に対し値を推測し、システムの特異性を検出したりする数多くのテストを走らせます。Slony-I は SPARC 上の Solaris2.X のような特定のプラットフォームの変更された libpq バージョンを識別する必要があります。libpq バージョン 7.4.2 に対するパッチはhttp://developer.postgresql.org/~wieck/slony1/download/threadsafe-libpq-742.diff.gz にあります。他のバージョンに対しても同様のパッチが必要なことがありますので、FAQ のスレッド安全性を参照ください。

4.4. ビルド

ビルド手順を開始するには

gmake all

と入力します。

GNU make を確実に使用してください。BSD システムでは gmake と呼ばれています。Linux で GNU make は典型的な "固有の" make で、従って入力するコマンドは make もしくは gmake となります。他のプラットフォームに於いては追加のパッケージが必要となったり、いちから GNU make をインストールする必要があります。コンパイルに関してのハードウェアの速度によりますがビルドは数秒から 2 分程度掛かります。ビルドが終了すると以下が表示されます。

All of Slony-I is successfully made. Ready to install.

4.5. Slony-Iをインストール

Slony-I をインストールするには以下を入力します。 gmake install

これで PostgreSQL インストレーションで使われた --prefix オプションにより指定された postgresql のインストールディレクトリにファイルがインストールされます。