CentOSでPostgreSQLをソースからコンパイルする手順

PostgreSQLのソースを入手しソースからコンパイルしインストールする手順を記します。
最新のPostgreSQLを試してみたり、プライベートな環境を構築することができます。

使用したOSはCentOS5, CentOS6の2つです。
CentOS5, CentOS6で操作に差異がある場合は、別途記述します。


スポンサーリンク

PostgreSQLのソースコードを入手する

NPO法人 日本PostgreSQLユーザ会からPostgreSQLのソースコードをダウンロードすることができます。
ブラウザを利用してダウンロードしてもよいですし、wgetやcurlコマンドを利用してダウンロードしてもよいでしょう。

本資料では、ブラウザを利用してダウンロードします。
本資料作成時の最新バージョンである、9.1.4のソースコードを利用します。

01.gif

Cコンパイラなどの開発環境をインストールしていない場合

CentOSで開発環境をインストールしていない場合は、以下の資料を参考に開発環境(ツール)をインストールしてください。

ダウンロードしたPostgreSQLを解凍します。

以下、CentOS上での作業です。

ユーザアカウントはsakuraで行います。

以下の通り、ダウンロードしたPostgreSQLのソースコードはアカウントsakuraのホームディレクトリに保存しました。

[sakura@centos ~]$ pwd
/home/sakura
[sakura@centos ~]$ ls -l
合計 19984
-rw-r--r-- 1 sakura sakura 20437875  8月  8 22:56 postgresql-9.1.4.tar.gz

コンパイルする前にインストールが必要なパッケージなど

CentOS5, CentOS6でPostgreSQLをソースコードからコンパイルするために必要なパッケージなどを以下に記します。

CentOS 5

  1. flexのインストール(バージョンアップ)
    記事を参考にflexをインストールしてください。
  2. readline-develパッケージのインストール
  3. zlib-develパッケージのインストール

CentOS 6

  1. readline-develパッケージのインストール
  2. zlib-develパッケージのインストール

以下にパッケージがインストールされていない場合にconfigureコマンドを利用すると出力される警告やエラーについて記します。
コンパイルとインストールに進む方は「コンパイル&インストール」に進んでください。

CentOS5に必要なflexのバージョンアップ

configureで以下のWARNINGが出力される原因はflexのバージョンが古いためです。
以下リンクはflexをソースコードからインストールする記事です。
記事を参考にflexをインストールしてください。

readlineのライブラリ

configure時に以下のメッセージが表示された場合は、readline-develがインストールされていないためです。

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.

rootになり、以下のコマンドでreadline-develをインストールしてください。

yum -y install readline-devel

zlibライブラリ

configure時に以下のメッセージが表示された場合は、zlib-develがインストールされていないためです。

configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.

rootになり、以下のコマンドでzlib-develをインストールしてください。

yum -y install zlib-devel

コンパイル&インストール

以下の手順でPostgreSQLのソースコードのコンパイルとインストールを行います。

  1. PostgreSQLソースのtarボールの展開
    以下のコマンドで展開します。
    tar zxvf postgresql-9.1.4.tar.gz
    展開が完了するとホームディレクトリは以下のようになります。
    [sakura@centos ~]$ ls -ltr
    合計 19988
    drwxrwxr-x 6 sakura sakura     4096  6月  1 08:25 postgresql-9.1.4
    -rw-r--r-- 1 sakura sakura 20437875  8月  8 22:56 postgresql-9.1.4.tar.gz
    postgresql-9.1.4ディレクトリが作成されPostgreSQLのソースなど一式が格納されています。
     
  2. 展開したディレクトリにcdする
    cd postgresql-9.1.4
     
  3. configureコマンドを実行する
    ./configure --prefix=$HOME/pgsql
    上記の--prefixはインストールするディレクトリになります。
    ホームディレクトリのpgsqlにインストールするように指示していあります。
     
  4. makeコマンドを実行(ソースコードのコンパイル)
    make
     
    以下のメッセージが表示されればコンパイルは完了です。
    All of PostgreSQL successfully made. Ready to install.
     
  5. make install コマンドを実行
    configureで指定したprefixのディレクトリにPostgreSQLがインストールされます。
    [sakura@centos postgresql-9.1.4]$ make install
    <snip>
    PostgreSQL installation complete.
     
    $HOME/pgsqlにインストールされているのが確認できます。
    [sakura@centos postgresql-9.1.4]$ ls -l $HOME/pgsql
    合計 16
    drwxrwxr-x 2 sakura sakura 4096  8月  9 00:00 bin
    drwxrwxr-x 6 sakura sakura 4096  8月  9 00:00 include
    drwxrwxr-x 3 sakura sakura 4096  8月  9 00:00 lib
    drwxrwxr-x 6 sakura sakura 4096  8月  9 00:00 share

インストールしたPostgreSQLを起動してみる

ホームディレクトリ内にインストールしたPostgreSQLを起動するために以下のようにPATHを設定します。
.bashrcなどに追記すれば以後、有効になります。

export PATH=$HOME/pgsql/bin:$PATH

関連資料


スポンサーリンク


添付ファイル: file01.gif 859件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-12 (水) 12:53:39