PostgreSQL 9.1.5文書 | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 16章Windowsにおけるソースコードからのインストール | 早送り | 次のページ |
Microsoftが提供するVisual C++コンパイラスィートを使用してPostgreSQLを構築することができます。 これらのコンパイラはVisual Studio、Visual Studio Express、いくつかのバージョンのPlatform SDKにあります。 すでにVisual Studio環境が設定されているのでなければ、Microsoftから無料でダウンロードできるPlatform SDK内のコンパイラを使用することが最も簡単な方法です。
PostgreSQLはVisual Studio 2005およびVisual Studio 2008付属のコンパイラをサポートします。 Platform SDKのみを使用する場合、または64ビットWindowsで構築する場合にはVisual Studio 2008のみがサポートされます。 Visual Studio 2010はまだサポートされていません。
Platform SDKを使って構築を行う際、SDKの6.0から7.0はサポートされています。これらより古い、もしくは新しいバージョンでは動かないでしょう。 特に、バージョン7.0a以降ではVisual Studio 2010のコンパイラを含むため、上手くいきません。
Visual C++を使用して構築するためのツールがsrc/tools/msvcディレクトリに存在します。 構築する際に、MinGWやCygwinに付属するツールがシステムPATHに存在しないことを確認してください。 また、PATH上で必要なVisual C++ツールがすべて利用可能になっていることを確認してください。 Visual Studioでは、Visual Studio 2005 コマンドプロンプトを起動してください。 Platform SDKでは、スタートメニューのSDK以下に列挙されるCMD shellを起動してください。 64ビット版を構築したい場合には、それぞれ64ビット版のコマンドを使用する必要があります。 すべてのコマンドはsrc\tools\msvcディレクトリから実行しなければなりません。
構築する前に、config.plファイルを編集して、変更したい設定オプションや使用する何らかのサードパーティ製のライブラリのパスを反映させる必要があるかもしれません。 まずconfig_default.plファイルを読み取り、解析することから始まり、そしてconfig.pl内の何らかの変更が適用されて、すべての設定が決定されます。 例えば、Pythonインストレーションの場所を指定する場合、以下をconfig.plに記載します。
$config->{python} = 'c:\python26';
config_default.pl内の指定と異なるパラメータのみを指定する必要があります。
何か他に環境変数を設定する必要があれば、buildenv.plという名前のファイルを作成し、そこに必要なコマンドを記載してください。 たとえば、PATHにbison用のパスを追加したいのであれば、以下を含むファイルを作成してください。
$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
PostgreSQLを構築するには以下の追加製品が必要です。 config.plファイルを使用してライブラリを利用できるディレクトリを指定してください。
Microsoft Platform SDK(現在はバージョン7.0)のバージョンを入手可能な最新版までアップグレードすることを推奨します。 http://www.microsoft.com/downloads/からダウンロードできます。
SDKのWindows Headers and Librariesを常にインクルードしなければなりません。 Visual C++ Compilersに含まれるPlatform SDKをインストールしている場合、構築のためにVisual Studioは必要ありません。
ActiveState Perlが構築生成スクリプトを実行するために必要です。 MinGWまたはCygwinのPerlでは動作しません。 また、PATH内に含められていなければなりません。 http://www.activestate.comからバイナリをダウンロードできます (注意:バージョン5.8以降が必要です。フリー版の標準配布で十分です)。
使用できるようになることが目的であれば以下の追加製品は必要ありませんが、完全なパッケージを構築する場合には必要です。 config.plを使用してライブラリが利用できるディレクトリを指定してください。
PL/TCLを構築する時に必要です (注意:バージョン8.4が必要です。フリー版の標準配布で十分です)。
Gitから構築する場合はBisonおよびFlexが必要です。 リリースファイルから構築する場合は不要です。 Bison 1.875またはバージョン2.2以降のみで動作することに注意してください。 またFlex 2.5.31以降が必要です。 Bisonはhttp://gnuwin32.sourceforge.netからダウンロードすることができます。 Flexはhttp://www.postgresql.org/ftp/misc/winflex/からダウンロードすることができます。
注意: GnuWin32からのBisonディストリビューションでは、C:\Program Files\GnuWin32の様に名前に空白を持つディレクトリにインストールされると正常に機能しないというバグがあります。 代わりにC:\GnuWin32へインストールすることを検討してください。
リグレッションテストを実行するにはdiffが必要です。 http://gnuwin32.sourceforge.netからダウンロードできます。
NLSサポート付きで構築する場合はgettextが必要です。 http://gnuwin32.sourceforge.netからダウンロードできます。 バイナリ、依存物、開発用ファイルすべてが必要であることに注意してください。
Kerberos認証をサポートする場合に必要です。 MIT Kerberosはhttp://web.mit.edu/Kerberos/dist/index.htmlからダウンロードできます。
XMLサポートのために必要です。 バイナリはhttp://zlatkovic.com/pub/libxmlから、ソースはhttp://xmlsoft.orgからダウンロードできます。 libxml2はiconvを必要することに注意してください。 同じ場所からダウンロードできます。
SSLサポートのために必要です。 バイナリはhttp://www.slproweb.com/products/Win32OpenSSL.htmlから、ソースはhttp://www.openssl.orgからダウンロードできます。
UUID-OSSPサポート(contribのみ)で必要です。 ソースはhttp://www.ossp.org/pkg/lib/uuid/にあります。
PL/Pythonを構築する場合に必要です。 バイナリはhttp://www.python.orgからダウンロードできます。
pg_dumpおよびpg_restoreにおける圧縮をサポートするために必要です。 バイナリはhttp://www.zlib.netからダウンロードできます。
64ビット版Windowsにおいてx64アーキテクチャのみでPostgreSQLを構築することができます。 Itaniumプロセッサをサポートしていません。
同じ構築用ツリーで32ビット版と64ビット版を混在させることはサポートされません。 構築システムは32ビット環境で動作しているか64ビット環境で動作しているかを自動的に検出し、それにしたがってPostgreSQLを構築します。 このため構築作業を始める前に正しいコマンドプロンプトを実行させることが重要です。
pythonやopensslなどのサーバサイドのサードパーティ製ライブラリを使用するためには、ライブラリも64ビット版である必要があります。 64ビット版のサーバで32ビット版のライブラリをロードすることはサポートされていません。 PostgreSQLがサポートするサードパーティ製のライブラリで32ビット版しか利用できないものが複数あります。 こうした場合、64ビット版のPostgreSQLで使用することはできません。
リリース条件(デフォルト)でPostgreSQLをすべて構築するためには、以下のコマンドを実行してください。
build
デバッグ条件でPostgreSQLをすべて構築するためには、以下のコマンドを実行してください。
build DEBUG
単一のプロジェクトのみを構築するためには、たとえばpsqlであれば、以下のコマンドを実行してください。
build psql build DEBUG psql
デバッグのためにデフォルトの構築条件を変更するためには、以下をbuildenv.plファイルに記載してください。
$ENV{CONFIG}="Debug";
また、Visual Studio GUI内から構築することも可能です。 この場合はコマンドプロンプトから以下を実行しなければなりません。
perl mkvcbuild.pl
その後に、生成されたpgsql.sln(ソースツリーのトップディレクトリに存在します。)をVisual Studioで開いてください。
ほとんどの場合、Visual Studioの持つ自動依存関係追跡により変更されたファイルが扱われます。 しかし、大規模な変更が行われた場合、インストレーションを整理する必要があるかもしれません。 このためには、clean.batコマンドを実行してください。 これにより、生成されたファイルがすべて自動的に消去されます。 また、distパラメータを使用して実行することも可能です。 この場合、make distcleanのように振舞い、flex/bisonの出力ファイルも削除します。
デフォルトで、すべてのファイルはdebugまたはreleaseディレクトリ以下のサブディレクトリに書き出されます。 これらのファイルを標準レイアウトでインストールし、データベースの初期化や使用に必要なファイルを生成するためには、以下のコマンドを実行してください。
install c:\destination\directory
リグレッションテストを実行するためには、まず必要なすべての部品の構築が完了していることを確認してください。 また、システムのすべての部品で必要とするDLL(手続き言語用のPerlのDLLやPythonのDLLなど)がシステムパスに含まれていることを確認してください。 もし含まれていなければ、buildenv.plファイルを介して設定してください。 試験を実行するためには、以下のコマンドのいずれかをsrc\tools\msvcディレクトリから実行してください。
vcregress check vcregress installcheck vcregress plcheck vcregress contribcheck
使用するスケジュール(デフォルトはparallelです)を変更するためには、コマンドラインに以下のように追加してください。
vcregress check serial
リグレッションテストの詳細については第30章を参照してください。
PostgreSQLの文書をHTML書式で構築するためには、いくつかツールやファイルが必要です。 これらのファイルをすべて格納するためのトップディレクトリを作成し、以下のリストに記載したサブディレクトリに格納してください。
http://sourceforge.net/projects/openjade/files/openjade/1.3.1/openjade-1_3_1-2-bin.zip/downloadからダウンロードし、openjade-1.3.1サブディレクトリで伸長してください。
http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zipからダウンロードし、docbookサブディレクトリで伸長してください。
http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/downloadからダウンロードし、docbook-dsssl-1.79サブディレクトリで伸長してください。
http://www.oasis-open.org/cover/ISOEnts.zipからダウンロードし、docbookサブディレクトリで伸長してください。
buildenv.plファイルを編集し、このトップディレクトリの場所を示す変数を追加してください。 例を示します。
$ENV{DOCROOT}='c:\docbook';
文書を構築するためには、builddoc.batコマンドを実行してください。 これは実際にはインデックスを作成するために、2回構築を行うことに注意してください。 生成されたHTMLファイルはdoc\src\sgmlに格納されます。