Database Support Blog

Database Support Blog>ソースファイルからPostgreSQLをインストールする手順(前編)

  • PostgreSQL
2015.09.18

ソースファイルからPostgreSQLをインストールする手順(前編)

PostgreSQL インストール手順

今回は2014年12月にリリースされたPostgreSQL 9.4.0をソースファイルからインストールする手順と、インストール時の注意事項について紹介します。PostgreSQLのインストール方法には、ソースファイルを使用する方法とRPMパッケージを使用する方法などがあります。アシストサポートセンターではLinux環境へインストールする場合、以下の理由からソースファイルを使用するインストール方法を推奨しています。

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

・configureスクリプトでインストール先をはじめとしたオプションの指定が可能
・追加モジュールやマイナーバージョンアップに対応しやすい
・当該マシンでのコンパイル時に最適化される可能性がある
・8.4以前のバージョンでも複数バージョンの共存が可能
 ※9.0以降では、RPMパッケージからPostgreSQLをインストールする方法でも複数バージョンを同居させることが可能です。


ソースファイルからPostgreSQL 9.4.0をインストールする手順は以下の通りです。以降でそれぞれのステップでの注意点も含め、順に解説していきます。


検証環境

PostgreSQLは、 Linux、Windows、FreeBSD、Mac OS Xなど様々なOSで動作します。今回は以下の環境にPostgreSQL 9.4.0をインストールします。

 OS : Oracle Enterprise Linux 5.6 64bit  
 DB : PostgreSQL 9.4.0

1. PostgreSQL 9.4.0をインストールするOSユーザーの作成

検証環境などでPostgreSQLを複数バージョンインストールする際には、各バージョン毎にOSユーザーを作成すると管理が容易になります。以下の例では、PostgreSQL 9.4.0をインストールするOSユーザー(p940)を作成しています。

(例)

 # useradd -m -d /home/p940 p940
 # passwd p940
 # su - p940

 ※以降の手順は、p940ユーザーで実行します。


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

PostgreSQL 9.4.0は、PostgreSQL Global Development Groupからダウンロードします。様々な圧縮形式のダウンロード・モジュールが存在しますが、この例ではpostgresql-9.4.0.tar.gzをダウンロードします。どの圧縮形式のダウンロードモジュールも内容は同じです。

(例)

-- ソースファイルをダウンロードするディレクトリを任意の名前で作成
 $ 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

 ※社内LAN環境でwgetコマンドを使用する際は、事前に/etc/wgetrc内でhttp_proxy、https_proxy、ftp_proxyなどの設定が必要な場合があります。


3. configureスクリプトの実行

configureスクリプト内の各オプションで、インストール場所やインストール対象等を指定します。以下の例では、全ファイルのインストール場所を指定する--prefixオプションやOpenSSLパッケージを使用したSSL接続のサポートを有効にする--with-opensslオプションなどを指定しています。ここで指定しなかった機能をインストール後に使用するには、PostgreSQLの再インストールが必要になるため、注意が必要です。configureスクリプト実行時の注意点も参照してください。

(例)

-- 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スクリプトの各オプションについては、以下のPostgreSQLマニュアルをご参考ください。

------------------------------------------------------------------------------------
第 15章ソースコードからインストール
15.4. インストール手順
http://www.postgresql.jp/document/9.4/html/install-procedure.html
------------------------------------------------------------------------------------

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

指定する各オプションについて

configureスクリプトのオプションで指定しなかった機能をPostgreSQLインストール後に使用することはできません。例えば、クライアントとPostgreSQL間でSSL接続を行う予定がある場合、configureスクリプト実行時に--with-opensslオプションを指定しなければ、SSL接続を行うことはできません。その他にも、pg_statsinfoを利用する場合は、configureスクリプト実行時に--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スクリプト実行時に上述のエラーが発生した場合は、必要なライブラリをyumコマンドなどでインストールした上で、再度configureスクリプトを実行ください。

(例:readlineライブラリが不足している場合)

 $ su -
 # yum install readline
 # yum install readline-devel


後編へ続く

ここまで問題なくできましたでしょうか? 後編では、以下の各ステップをご説明していきます。


執筆者情報

家島 拓也

2007年にアシストに入社して以来、ORACLE製品やPostgreSQL・EDB Postgres製品のサポートに従事してきました。このブログではサポート対応で得た知識を元に、お客様がお困りになることが多い問題や各製品の新機能に関する検証結果などを提供します。

関連している記事

  • PostgreSQL
2016.12.01

【SR+HS環境の落とし穴】スタンバイが要求したWALが上書きされる障害の予防策

PostgreSQLのSR+HS環境でスタンバイが要求したWALが上書きされる障害の予防策を紹介します。

  • EDB Postgres
  • PostgreSQL
2016.11.11

【EDB Postgres/PostgreSQL】うるう秒(閏秒)の対応

EDB Postgres/PostgreSQLでのうるう秒(閏秒)の対応方法について解説します。2017年元旦にトラブルとならないよう、準備しましょう。

  • PostgreSQL
2016.10.04

性能劣化を引き起こすチェックポイント多発の確認・対処方法

チェックポイントはディスクI/Oを伴うため、短い間隔で繰り返し実行されると性能劣化の原因となります。PostgreSQL(9.5以降)でチェックポイント多発の確認と、多発していた場合の対処方法について説明します。

アシストサポートセンターのご紹介 Oracle Database研修

ページの先頭へ戻る