【PostgreSQL】ソースファイルからPostgreSQLを正しくインストールする手順データベースサポート最前線の現場から(2)(1/2 ページ)

データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は「PostgreSQLをソースファイルからインストールする手順」を解説します。

» 2016年11月28日 05時00分 公開
[家島拓也株式会社アシスト]
※本連載は、アシストのデータベースサポートスペシャリストによる「Database Support Blog」より、提供社の許可の下、一部修正して転載するものです。

連載バックナンバー

 「PostgreSQL」(オープンソースデータベース管理システム)をインストールする手段には、ソースファイルを使用する方法とRPMパッケージを使用する方法などがあります。アシストでは、PostgreSQLをLinux環境へインストールする場合、以下の理由からソースファイルを使用するインストール方法を推奨しています。

PostgreSQLをソースファイルからのインストールを推奨する理由

  • configureスクリプトでインストール先をはじめとしたオプションの指定が可能である
  • 追加モジュールやマイナーバージョンアップに対応しやすい
  • 当該マシンでのコンパイル時に最適化される可能性がある
  • バージョン8.4以前のバージョンでも、複数バージョンの共存が可能である(※)

(※バージョン9.0以降では、RPMパッケージからPostgreSQLをインストールする方法でも複数バージョンを同居させることが可能です)


 今回は一例として、「Oracle Enterprise Linux 5.6 64bit」の環境へPostgreSQL 9.4.0をソースファイルからインストールする手順と、インストール時の注意事項を紹介します。

PostgreSQLをソースファイルからインストールする

 PostgreSQL 9.4.0をソースファイルからをインストールする大まかな手順は以下の通りです。

  1. PostgreSQL 9.4.0をインストールするOSユーザーの作成
  2. PostgreSQL 9.4.0のソースファイルのダウンロード
  3. configureスクリプトの実行
  4. 「gmake」「gmake install」の実行
  5. 環境変数の設定
  6. initdbの実行

【1】インストールするOSユーザーの作成

 まず、PostgreSQLをインストールするユーザーを作成します。

 検証環境などでは、複数バージョンのPostgreSQLをインストールして評価するシーンは多いと思います。バージョンごとにOSユーザーを作成しておくと、その後の管理が容易になります。

 # useradd -m -d /home/p940 p940
 # passwd p940
 # su - p940
PostgreSQL 9.4.0をインストールするユーザー「p940」を作成

 ここでは、PostgreSQL 9.4.0をインストールするユーザー「p940」を作成しました。以降の手順も、「p940」ユーザーで実行します。

【2】PostgreSQL 9.4.0のソースファイルのダウンロード

 PostgreSQLのソースファイルは、「PostgreSQL Global Development Group」のWebサイトからダウンロードできます。ここにはさまざまなバージョンと圧縮形式のダウンロードモジュールが存在します。どの圧縮形式のダウンロードモジュールも原則として中身は同じですが、今回は「postgresql-9.4.0.tar.gz」を使います。なお、社内LAN環境でwgetコマンドを使用する際は、事前に/etc/wgetrc内でhttp_proxy、https_proxy、ftp_proxyなどの設定が必要な場合があります。

-- ソースファイルをダウンロードするディレクトリを任意の名前で作成
 $ mkdir sources
-- sources ディレクトリ配下にpostgresql-9.4.0.tar.gz をダウンロード
 $ cd sources
 $ wget https://ftp.postgresql.org/pub/source/v9.4.0/postgresql-9.4.0.tar.gz
PostgreSQLのソースファイルをダウンロードする(例は、9.4.0の場合)

 なお、2016年11月現在、PostgreSQLの最新バージョンは「v9.6.1」で、バージョンアップが進んでいます。最新バージョンを望む場合には、バージョン名やURL表記を適宜置き換えて読み進めてください。

【3】configureスクリプトの実行

 configureスクリプト内の各オプションで、インストールするディレクトリやインストール対象などを指定します。

 以下に、全ファイルのインストール場所を指定する「--prefix」オプションや、OpenSSLパッケージを使用したSSL接続のサポートを有効にする「--with-openssl」オプションなどを指定して実行する例を示します。

-- postgresql-9.4.0.tar.gzを展開
 $ tar xvf postgresql-9.4.0.tar.gz
-- ソースファイルの展開ディレクトリに移動
 $ cd postgresql-9.4.0
-- 各種オプションを指定してconfigureスクリプトを実行
 $ ./configure --prefix=/home/p940/posgrehome --enable-debug --with-openssl --with-pgport=1940 --enable-nls=UTF_JP --with-libxml
configureスクリプトを実行する(例は、9.4.0の場合)

 なお、ここで指定しなかった機能をインストール後に使う場合には、PostgreSQLの再インストールが必要になるので注意してください。この他のオプションについては、以下のドキュメントを参照してください。


configureスクリプト実行時の注意点

 前述したように、オプションはconfigureスクリプトでの指定が必要です。

 例えば、クライアントとPostgreSQL間でセキュアなSSL接続を必須とする場合には、configureスクリプト実行時に--with-opensslオプションを指定します。逆に、指定しなければSSL接続での運用はできません(再インストールが必要になります)。その他にも、OSのリソース情報や統計情報をスナップショットとして取得するためのツールである「pg_statsinfo」を利用するならば、--with-libxmlオプションを指定します。

ライブラリのチェックに失敗する場合は……

 configureスクリプト実行時には、必要なライブラリのチェックも実行されます。そのときに、必要なライブラリが存在しなかった場合に、以下のようなエラーメッセージが表示されます。

configure: error: readline library not found
 If you have readline already installed, see config.log for details on the
 failure. It is possible the compiler isn't looking in the proper directory.
 Use --without-readline to disable readline support.
configureスクリプト実行時に表示されたエラーメッセージ(例は、9.4.0の場合)

 エラーメッセージは、必要なライブラリがシステムに足りていない場合に表示されます。この場合は、必要なライブラリをyumコマンドなどでインストールした上で、再度configureスクリプトを実行します。例えば上記のエラーメッセージでは「redlineライブラリが存在しません」とあるので、以下のようにredlineライブラリをインストールします。

 $ su -
 # yum install readline
 # yum install readline-devel
不足していたredlineライブラリをyumコマンドでインストールする

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。