【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ユーザーを作成しておくと、その後の管理が容易になります。

  1.  # useradd -m -d /home/p940 p940
  2.  # passwd p940
  3.  # 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などの設定が必要な場合があります。

  1. -- ソースファイルをダウンロードするディレクトリを任意の名前で作成
  2.  $ mkdir sources
  3. -- sources ディレクトリ配下にpostgresql-9.4.0.tar.gz をダウンロード
  4.  $ cd sources
  5.  $ 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」オプションなどを指定して実行する例を示します。

  1. -- postgresql-9.4.0.tar.gzを展開
  2.  $ tar xvf postgresql-9.4.0.tar.gz
  3. -- ソースファイルの展開ディレクトリに移動
  4.  $ cd postgresql-9.4.0
  5. -- 各種オプションを指定してconfigureスクリプトを実行
  6.  $ ./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スクリプト実行時には、必要なライブラリのチェックも実行されます。そのときに、必要なライブラリが存在しなかった場合に、以下のようなエラーメッセージが表示されます。

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

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

  1.  $ su -
  2.  # yum install readline
  3.  # yum install readline-devel
不足していたredlineライブラリをyumコマンドでインストールする
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

Database Expert 記事ランキング

本日月間

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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