他のバージョンの文書 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

14.5. インストール手順

  1. 構成 (Configuration)

    インストール手順の最初のステップは、システムに合わせてソースツリーを設定し、使用するオプションを選択することです。 configure スクリプトを実行することで行います。 デフォルトのインストールを行う場合は、単に以下を入力してください。

    ./configure

    このスクリプトは、各種のシステムに依存した変数の値を推定するために多くの試験を行い、使用中のオペレーティングシステムが持つ奇癖を検出し、最終的に構築用ツリーに結果を記録するためのファイルをいくつか作成します。 (構築用のディレクトリを別の場所にしたい場合は、ソースツリーの外のディレクトリで configure を実行することもできます。)

    デフォルトの構成では、サーバ、ユーティリティの他に、C コンパイラだけを必要とするクライアントアプリケーションやインタフェースを構築します。 デフォルトでは、全てのファイルは /usr/local/pgsql 以下にインストールされます。

    configure に以下のコマンドラインオプションを 1 つ以上指定することで構築処理やインストール処理を変更することができます。

    --prefix=PREFIX

    /usr/local/pgsql ではなく、PREFIX ディレクトリ以下に全てのファイルをインストールします。 ファイルは実際には様々なサブディレクトリにインストールされ、PREFIX ディレクトリの直下にインストールされるファイルはありません。

    特別な必要性があるのであれば、以下のオプションを使用して個々のサブディレクトリを変更することもできます。 しかし、これらをそのまま使用したとしても、インストレーションは位置再変更可能です。。 つまり、インストールの後にディレクトリを移動することができます。 (mandocの場所はこの影響を受けません。)

    インストールの位置再変更のために、configure--disable-rpathを使用しようと考えるかもしれません。 その場合は、オペレーティングシステムにその共有ライブラリの場所を通知する必要があるでしょう。

    --exec-prefix=EXEC-PREFIX

    アーキテクチャ依存のファイルを PREFIX の設定とは別の接頭詞 EXEC-PREFIX 以下にインストールすることができます。 ホスト間でアーキテクチャ非依存のファイルを共有する場合に便利です。 省略した場合、EXEC-PREFIXPREFIX と同じに設定され、アーキテクチャに依存するファイルも非依存なファイルも同じツリー以下にインストールされます。 ほとんどの場合、これが望まれています。

    --bindir=DIRECTORY

    実行可能プログラム用のディレクトリを指定します。 デフォルトでは EXEC-PREFIX/bin であり、通常、/usr/local/pgsql/bin となります。

    --datadir=DIRECTORY

    インストールされたプログラムで使用される、読み取り専用データファイルのディレクトリを指定します。 デフォルトは PREFIX/share です。 これはデータベースファイルを格納する場所とは全く関係がないことに注意してください。

    --sysconfdir=DIRECTORY

    各種設定ファイル用のディレクトリです。 デフォルトでは PREFIX/etc です。

    --libdir=DIRECTORY

    ライブラリや動的ロード可能モジュールをインストールする場所です。 デフォルトは EXEC-PREFIX/lib です。

    --includedir=DIRECTORY

    C および C++ のヘッダファイルをインストールするディレクトリです。 デフォルトは PREFIX/include です。

    --mandir=DIRECTORY

    PostgreSQL 付属のマニュアルページがこのディレクトリ以下の、対応する manx サブディレクトリにインストールされます。 デフォルトは PREFIX/man です。

    --with-docdir=DIRECTORY
    --without-docdir

    "man"ページ以外の文書ファイルがこのディレクトリにインストールされます。 デフォルトはPREFIX/docです。 --without-docdirオプションが指定された場合、文書はmake installによってインストールされません。 これは、文書のインストール用に特別な方法を持つパッケージ作成スクリプトを目的としています。

    注意: (/usr/local/include といった) 共用のインストール場所に、システムの他の名前空間に影響を与えることなく PostgreSQL をインストールすることができるような配慮がなされています。 まず、完全に展開したディレクトリ名に "postgres""pgsql" という文字列が含まれていない場合、"/postgresql" という文字列が自動的に datadirsysconfdirdocdir に追加されます。 例えば、接頭辞として/usr/localを使用する場合、文書は/usr/local/doc/postgresqlにインストールされますが、接頭辞が/opt/postgresの場合は/opt/postgres/docにインストールされます。 クライアントインタフェース用の外部向けCヘッダファイルはincludedirにインストールされ、名前空間の問題はありません。 内部向けヘッダファイルやサーバ用ヘッダファイルは、includedir 以下の非公開ディレクトリにインストールされます。 各インタフェース用のヘッダファイルを取り出す方法についての情報は、そのインタフェースの文書を参照してください。 最後に、適切であれば、動的ロード可能モジュール用にlibdir以下にも非公開用のサブディレクトリが作成されます。

    --with-includes=DIRECTORIES

    DIRECTORIES には、コンパイラがヘッダファイルを検索するディレクトリのリストをコロンで区切って指定します。 (GNU Readline などの) オプションのパッケージが非標準的な場所にインストールされている場合、このオプションと、おそらく対応する --with-libraries オプションを使用する必要があります。

    例: --with-includes=/opt/gnu/include:/usr/sup/include.

    --with-libraries=DIRECTORIES

    DIRECTORIES には、ライブラリを検索するディレクトリのリストをコロンで区切って指定します。 パッケージが非標準的な場所にインストールされている場合は、おそらくこのオプション (と対応する--with-includes オプション) を使用する必要があります。

    例: --with-libraries=/opt/gnu/lib:/usr/sup/lib.

    --enable-nls[=LANGUAGES]

    各国語サポート (NLS)、つまり、英語以外の言語によるプログラムメッセージの表示機能を有効にします。 LANGUAGES にはサポート予定言語のコードのリストを空白で区切って指定します。 例えば、--enable-nls='de fr' などとします (指定したリストと実際に用意された翻訳との論理積が自動的に計算されます)。 リストに何も指定しなかった場合、利用可能な翻訳全てがインストールされます。

    このオプションを使用するためには、gettext API の実装が必要です。 上記を参照してください。

    --with-pgport=NUMBER

    サーバとクライアントのデフォルトのポート番号を NUMBER に設定します。 デフォルトは 5432 です。 このポートは後でいつでも変更することができますが、ここで指定した場合、サーバとクライアントはコンパイル時に同じデフォルト値を持つようになります。 これは非常に便利です。 通常、デフォルト以外の値を選択すべき唯一の理由は、同じマシンで複数の PostgreSQL を稼働させることです。

    --with-perl

    PL/Perlサーバサイド言語を構築します。

    --with-python

    PL/Pythonサーバサイド言語を構築します。

    --with-tcl

    PL/Tclサーバサイド言語を構築します。

    --with-tclconfig=DIRECTORY

    Tclは、Tclへのインタフェースモジュールを構築するために必要な設定情報を含むファイルtclConfig.shをインストールします。 このファイルは通常、自動的に一般的に知られている場所にインストールされますが、もし Tclの別のバージョンを使いたい場合は、インストールしたいディレクトリを指定できます。

    --with-krb4
    --with-krb5

    Kerberos認証のサポートを構築します。 Kerberosのバージョンは4か5のどちらかを使うことができますが、両方使うことはできません。 多くのシステムでは、Kerberosシステムはデフォルトの検索場所(例えば/usr/include/usr/lib)にインストールされていません。 そのため、--with-includes--with-librariesオプションをさらに追加して使わなければいけません。 configureは、処理を進める前にKerberosが正しくインストールされていることを確認するために、必要とされるヘッダファイルとライブラリを検査します。

    --with-krb-srvnam=NAME

    Kerberos のサービスプリンシパルの名前です。 デフォルトは "postgres" です。 これを変える理由は特にありません。

    --with-openssl

    SSL(暗号化)接続のサポートを有効にして構築します。 これには、OpenSSLパッケージがインストールされていなければなりません。 configureは、処理を進める前にOpenSSLのインストールを確認するために、必要なヘッダファイルとライブラリを検査します。

    --with-pam

    PAM (プラグアブル認証モジュール) のサポートを有効にして構築します。

    --without-readline

    Readline ライブラリの使用を防止します。 これにより psql でのコマンドライン編集および履歴が無効となるため、推奨されません。

    --with-rendezvous

    Rendezvousサポートを有効にして構築します。 これにはオペレーティングシステムがRendezvousをサポートしていることが必要です。 Mac OS Xでは推奨します。

    --disable-spinlocks

    PostgreSQLがそのプラットフォーム用のCPUスピンロックをサポートしない場合でも、構築に成功するようにします。 スピンロックのサポートの欠落により、性能は悪化します。 従って、このオプションは、構築が失敗し、その原因が使用するプラットフォームでスピンロックサポートが欠落している場合にのみ使用してください。 使用するプラットフォームにおけるPostgreSQLの構築にこのオプションが必要とされた場合は、PostgreSQL開発者にその問題を報告してください。

    --enable-thread-safety

    クライアントライブラリをスレッドセーフで作成します。 これにより、libpqECPG プログラム内の同時実行スレッドは、安全にその固有の接続ハンドルを制御することができます。 このオプションは、オペレーティングシステムで適切なスレッド処理がサポートされていることが必要です。

    --without-zlib

    Zlibライブラリの使用を抑制します。 これは、pg_dumppg_restoreにおける圧縮アーカイブのサポートを無効にします。 このオプションは、このライブラリが利用できないごく少数のシステム向けだけのものです。

    --enable-debug

    全てのプログラムとライブラリをデバッグシンボル付きでコンパイルします。 これは、問題を解析するためにデバッガを使用してプログラムを実行できることを意味します。 これはインストールする実行形式ファイルのサイズをかなり大きくし、また、GCC 以外のコンパイラでは、通常はコンパイラによる最適化が行われなくなりますので、低速になります。 しかし、デバッグシンボルが利用できるということは、発生した問題に対応する時に非常に便利です。 現在のところ、GCC を使用している場合にのみ、稼働用のインストレーションにこのオプションを使用することを推奨します。 しかし、開発作業時やベータ版を実行する時は、常にこれを有効にすべきです。

    --enable-cassert

    サーバにおける、多くの"あり得ない"状態をテストする アサーション チェックを有効にします。 これは、プログラムの開発のためには測り知れない価値がありますが、このテストにより多少低速になります。 また、このテストを有効にすると、サーバの安定性を向上させるとは限りません! アサーションチェックは、重要度によって分類分けされていませんので、比較的害がないようなバグでも、アサーション失敗をトリガとした、サーバの再起動が行われてしまいます。 現在のところ、稼働用にこのオプションを使用することは推奨されませんが、開発作業時やベータ版を実行する場合は、これを有効にすべきです。

    --enable-depend

    自動依存関係追跡を有効にします。 このオプションを使用すると、ヘッダファイルが変更された場合に、影響を受ける全てのオブジェクトファイルが再構築されるように、makefile が設定されます。 これは開発作業時には有用ですが、単に一度コンパイルしインストールするだけであれば、これは無駄なオーバーヘッドです。 現在のところ、GCC を使用している場合にのみ、このオプションは動作します。

    configure が選ぶものと違う C コンパイラを使いたいという場合には、CC 環境変数を、その使用したいプログラムに設定することができます。 デフォルトでは、configure は利用できるのであればgccを、利用できなければプラットフォームのデフォルト(通常cc)を選択します。 同様に、デフォルトのコンパイラフラグは必要に応じて CFLAGS 変数で上書きすることもできます。

    次のようにして、configure コマンドラインに環境変数を指定することができます。

    ./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'

  2. 構築

    構築作業を開始するには、以下を入力してください。

    gmake

    (GNU make を使用することを忘れないでください)。 ハードウェアに依存しますが、構築作業には、5 分から 30 分くらいかかります。 最後に以下のような行が表示されるはずです。

    All of PostgreSQL is successfully made. Ready to install.

  3. リグレッションテスト

    インストールを行う前に、新しく構築したサーバをテストしたい場合、この時点でリグレッションテストを実行することができます。 リグレッションテストとは、使用するマシンにおいて PostgreSQL が、開発者の想定どおりに動作することを検証するためのテストのまとまりです。 次のように入力します。

    gmake check

    (これは root では動作しません。 非特権ユーザとして実行してください)。 第26章にはテスト結果の表示に関する詳しい情報があります。 同じコマンドを入力することで、後にいつでもテストを繰り返すことができます。

  4. ファイルのインストール

    注意: もし既存のシステムのアップグレードをしていて、古いファイルの上から新しいファイルをインストールするという場合は、上記の 項14.4 で説明したように、確実にデータをバックアップして、処理を進める前に古いサーバをシャットダウンしてください。

    PostgreSQL をインストールするには、以下を入力してください。

    gmake install

    これは、ファイルを ステップ1 で指定されたディレクトリにインストールします。 その領域に書き込むための権限を持っていることを確認してください。 通常はこのステップは root で行う必要があります。 代わりに対象とするディレクトリを前もって作成し、適切に権限を調整することも可能です。

    gmake install の代わりに gmake install-strip を使用することで、インストール時に実行可能ファイルやライブラリをストリップ (strip) することができます。 これにより、多少の容量を節約できます。 デバッグをサポートするように構築している場合、ストリップすることでデバッグのサポートも除去されます。 したがって、これはデバッグが必要なくなった場合にのみ実行すべきです。 install-strip は容量を節約するために適切な作業を行おうとしますが、実行可能ファイルから全ての不必要なバイトを完全にストリップすることはできません。 可能な限りのディスク容量を全て節約したい場合は、手動で作業を行う必要があります。

    この標準的なインストール方法では、クライアントアプリケーションの開発に必要なヘッダファイルと、Cで独自の関数やデータ型を作成するといったサーバ側のプログラムの開発用のヘッダファイルが用意されます。 (PostgreSQL 8.0より前まででは、後で別途gmake install-all-headersコマンドが必要でした。しかし、この手順は標準のインストールに含まれるようになりました。)

    クライアント側のみのインストール: クライアントアプリケーションとインタフェースライブラリのみをインストールしたい場合、下記のコマンドを使います。

    gmake -C src/bin install
    gmake -C src/include install
    gmake -C src/interfaces install
    gmake -C doc install

Windowsにおけるeventlogの登録: Windows eventlogライブラリをオペレーティングシステムに登録するには、インストール後に以下のコマンドを実行してください。

regsvr32 pgsql_library_directory/pgevent.dll

これによりイベントビューアで使用されるレジストリ項目が生成されます。

アンインストール: インストールを取り消すには、gmake uninstall コマンドを使います。しかし、作成済みのディレクトリは削除されません。

クリーニング: インストールが終わったら、gmake clean コマンドを使ってソースツリーから構築用のファイルを削除し、ディスクの領域を空けることができます。 これはconfigureプログラムが作るファイルを保持するので、後で gmake コマンドで全てを再構築できます。 ソースツリーを配布された時の状態に戻したい場合は、gmake distclean コマンドを使います。 同じソースツリー内で複数のプラットフォーム向けに構築する場合、構築する度に、これを実行しconfigureをし直さなければいけません。 (または、未変更のソースツリーを維持するために、各プラットフォームで別々の構築用ツリーを使用してください。)

構築作業を行った後でconfigure用オプションが間違っていることに気づいた場合や、configureの調査結果に何らかの変更を加えた場合 (例えば、ソフトウェアのアップグレードなど)、再設定と再構築の前に gmake distclean を行うことをお勧めします。 さもないと、設定選択肢の変更は、必要なところ全てに反映されない可能性があります。