通常、最近のUnix互換プラットフォームならばPostgreSQLを動作させることができるはずです。 リリース時に明示的なテストを受けたプラットフォームの一覧を項14.7にて示します。 配布物のdocサブディレクトリには、プラットフォーム固有のFAQ文書がいくつかありますので、問題が発生した場合は参照してください。
PostgreSQLを構築するには、以下のソフトウェアパッケージが必要です。
GNU makeが必要です。 他のmake では動作しません。 GNU make はよくgmakeという名前でインストールされます。 本書では常にその名前を使用します。 (システムによって、GNU makeがデフォルトのツールになっているものもあります。) GNU makeの試験を行なうためには以下を実行してください。
gmake --version
バージョン 3.76.1 以降を使用することを推奨します。
ISO/ANSI C コンパイラが必要です。 GCC の最近のバージョンをお勧めしますが、PostgreSQL は異なるベンダの、さまざまなコンパイラでも構築できることで知られています。
まず配布物を展開するために、gzip が必要です。
(快適な行編集とコマンド履歴取得のための) GNU Readline ライブラリは、デフォルトで使用されます。 使用したくない場合は、configure に --without-readline オプションを指定する必要があります。 (NetBSD では、readline と互換性がある libedit ライブラリが、libreadline を認識できなかった場合に使われます)。 パッケージベースのLinuxディストリビューションを使用し、そのディストリビューションの中でreadlineとreadline-develパッケージが別個に存在していた場合、両方とも必要ですので注意してください。
WindowsでPostgreSQLを構築するためには、更にソフトウェアが必要です。 NTベース版のWindows(Windows XPやWindows 2003など)ではMinGWを使用してPostgreSQLを構築することができます。 (doc/FAQ_MINGWを参照してください。) Cygwinを使用してPostgreSQLを構築することもできます。 (doc/FAQ_CYGWINを参照してください。) Cygwinで構築した場合は古めのWindowsで動作させることができますが、もしどちらも選べるのであれば、MinGWによる方法を推奨します。 これらのツールキットは、全てを構築する時のみに必要なものです。 Cクライアントライブラリ(libpq)と対話式端末(psql)のみを構築するのであれば、他のWindowsツールキットを使用することができます。 詳細は、 第15章を参照してください。
以下のパッケージはオプションです。 これらはデフォルトの設定では必要ありませんが、下記のように特定の構築オプションを有効とする場合に必要となります。
サーバプログラム言語であるPL/Perlを構築するには、libperl ライブラリとヘッダファイルを含む完全なPerlのインストレーションが必要です。 PL/Perlは共有ライブラリですので、ほとんどのプラットフォームにおいて libperl ライブラリも共有ライブラリでなければなりません。 これは最近のバージョンのPerlではデフォルトのようですが、以前のバージョンではデフォルトではありませんでした。 とにかく、これはPerl をサイトにインストールした人により決定されます。
必要な共有ライブラリが存在しない場合、構築中に表示される次のようなメッセージにより、そのことが指摘されます。
*** Cannot build PL/Perl because libperl is not a shared library. *** You might have to rebuild your Perl installation. Refer to *** the documentation for details.
(画面上の指示に従わない場合は、単にPL/Perlライブラリオブジェクトplperl.soまたは類似のものがインストールされないだけです。) このメッセージが表示された場合、PL/Perlを構築できるようにするために、Perl を手動で再構築し、インストールする必要があります。 Perl の構築処理で、共有ライブラリとするように指定してください。
PL/Pythonサーバプログラム言語を構築するには、ヘッダファイルとdistutilsモジュールを含むPythonのインストレーションが必要です。 distutilsモジュールはPython 1.6以降ではデフォルトで含まれます。 これより前のバージョンのPythonを使用しているユーザはインストールしなければなりません。
PL/Pythonは共有ライブラリになりますので、ほとんどのプラットフォームでは、libpythonもまた共有ライブラリである必要があります。 これは、Pythonのインストレーションではデフォルトではありません。 構築し、インストールした後に、(他の拡張子かもしれませんが) plpython.so という名前のファイルがあれば、全てが成功しています。 さもなくば、以下のような警告が表示されたはずです。
*** Cannot build PL/Python because libpython is not a shared library. *** You might have to rebuild your Python installation. Refer to *** the documentation for details.
これは、この共有ライブラリを提供するためにはPythonインストレーション (の一部) を再構築する必要があることを意味しています。
問題があった場合は、Python 2.3以降のconfigureを--enable-sharedを付けて実行してください。 オペレーティングシステムの中には、共有ライブラリの構築が必要ないものもあります。 しかし、その場合は PostgreSQL 構築システムにそのことを確認・指定する必要があります。 詳しくは src/pl/plpython ディレクトリの Makefile を参照してください。
PL/Tcl手続き言語を構築したい場合は、もちろんTclのインストレーションが必要です。
各国語サポート (NLS)、つまり、英語以外の言語によるプログラムメッセージの表示機能、を有効にするには、Gettext API の実装が必要です。 オペレーティングシステムの中には (例えば、Linux、NetBSD、Solaris など)、組み込み済みのものがあります。 他のシステムでは、追加パッケージを http://developer.postgresql.org/~petere/bsd-gettext/ からダウンロードすることができます。 GNU C ライブラリの gettext の実装を使用する場合、更に、いくつかのユーティリティプログラムのために GNU Gettext パッケージが必要となります。 他の実装の場合には必要ありません。
Kerberos、OpenSSL、PAM、または、この全ても、そのサービスを使用した認証や暗号化をサポートする場合には必要となります。
リリースされたソースパッケージではなく CVS ツリーからのビルドの場合、または開発を行いたい場合には、以下のパッケージも必要となります。
GNUのFlexおよびBisonは、CVSチェックアウトから構築する場合や、実際のスキャナとパーサの定義ファイルを変更した場合に必要となります。 それらが必要な場合は、Flex 2.5.4 以降と Bison 1.875 以降を使うようにしてください。 他の yacc プログラムを使用することも可能ですが、この場合、追加の作業が必要となりますのでお勧めできません。 他の lex プログラムでは間違いなく問題が起こります。
GNU パッケージの入手が必要な場合、近くの GNU ミラーサイトから探してください (ミラーサイトの一覧は http://www.gnu.org/order/ftp.htmlにあります)。 または、ftp://ftp.gnu.org/gnu/ から探してください。
また、十分なディスク領域があることも確認してください。 コンパイル中、ソースツリーのために 65M バイト、インストールディレクトリに 15M バイトほどが必要となります。 空のデータベースクラスタだけでも約 25 Mバイト必要であり、またデータベースは、同じデータのフラットテキストファイルと比べて 5 倍ほどの領域が必要になります。 リグレッションテストを実行する場合は、一時的に最大で 90M バイトの領域が更に必要になります。 ディスクの空き容量を確認するためには df コマンドを使います。