PostgreSQL7.3インストール編


PostgreSQL7.3をソースコードからインストールする手順を紹介します。

インストールの流れ


ソースコードの入手

本家からリンクされているFTPサイト (ここ) 、日本 PostgreSQLユーザー会で紹介されているFTPサイト (ここ) 、弊社のFTPサイト ここ から postgresql-7.3.tar.gz を入手します。入手したソースコードは /tmp 以下に置いておきます。

インストールの準備

PostgreSQLはrootでは運用できません。そのため、専用の管理アカウント を設けこのアカウントでインストールから運用までを行います。ここでは例と して postgres というアカウントを利用します。まず、OSに postgres ユーザ のアカウントを登録します。root で実行します。

# useradd postgres

続いてソースコードを展開するディレクトリの作成と所有権限の変更を行いま す。

# mkdir /usr/local/src/postgresql-7.3
# chown postgres /usr/local/src/postgresql-7.3

続いて、PostgreSQLのプログラムをインストールするディレクトリの作成と所 有権限の変更を行います。デフォルトでインストールするディレクトリを指定 していますが、必要に応じて変更します。

# mkdir /usr/local/pgsql
# chown postgres /usr/local/pgsql

root で実行するのはここまでです。

ソースの展開・コンパイル

PostgreSQLを運用するユーザ(この場合は postgres) でソースコードの展 開を行います。

# su - postgres
$ cd /usr/local/src
$ tar xfz /tmp/postgresql-7.3.tar.gz

postgresql-7.3 ディレクトリ以下にソースコードが展開されますので、この ディレクトリに移動します。

$ cd postgresql-7.3

つづいて PostgreSQL のインストールオプションを指定します。必要に応じて オプションを指定してください。今回はオプションの指定はなしで行います。

$ ./configure

[注意] コンパイルオプションの変更点

7.3では標準で組み込まれるオプション

マルチバイトキャラクターサポート 7.2までは --enable-multibyte オプションで指定していました。SQL_ASCII が標準となっています。標準の文字エンコーディングを変えるにはinitdb の --encoding オプションで指定します。
ロケールの利用 7.2までは --enable-locale オプションで指定していました。日本語環境 利用者ではソートの並び順などに不具合がある場合があるため、推奨されてい ないオプションです。ロケールを利用しないようにするにはinitdb の --no-locale オプションで指定します。
syslogへのログの取得 7.2までは --enable-syslog オプションで指定していました。 PostgreSQL のログを syslog に出力する機能です。

7.3で追加されたオプション

--enable-integer-datetimes 64ビット整数型の date,time 型をサポートします。
--without-readline ReadlineライブラリはPostgreSQLでは psql などのコマンドラインの編集、 ヒストリ機能を提供します。 このオプションを指定すると上記の機能が使用できなくなります。
--without-zlib zlibライブラリは圧縮アルゴリズムのライブラリでPostgreSQLでは バックアップの際の圧縮に使用しています。 このオプションを指定するとバックアップの圧縮機能が利用できません。

configure が正常終了したらプログラムのコンパイルを行います。

$ make all

テストとインストール

インストールの前にコンパイルされたプログラムを確認するテストスイー トを実行します。

$ make check

次のように出力されれば、正しくコンパイルされたとみなします。

======================
 All 89 tests passed. 
======================

最後にプログラムをインストールします。

$ make install

環境設定

~postgres/.bashrc ファイルに下記の設定を追加します。

PG=/usr/local/pgsql
PATH="$PATH":$PG/bin
export MANPATH="$MANPATH":$PG/man
export PGLIB=$PG/lib
export PGDATA=$PG/data

設定を再読み込みします。

$ source ~/.bashrc

データベースクラスタの作成

PostgreSQL ではデータベースクラスタといわれるディレクトリ以下にデー タベースのすべての情報を格納します。プログラムインストール終了の段階で はこれは作成されておらず initdb というコマンドの実行によって作成されま す。データベースクラスタとして作成されるディレクトリは環境変数の設定で $PGDATA に指定したディレクトリです。 initdb は次のように実行します。

$ initdb --encoding=EUC_JP --no-locale

--encoding=EUC_JP データベースのデフォルトの文字エンコーディングを EUC_JP にします。
--no-locale ロケールを利用しません。

設定と起動

最後に PostgreSQL のデーモンプロセスである postmaster を起動します。起動する前に必要に応じて $PGDATA にある postgresql.conf や pg_hba.conf を修正します。 postamster の起動は以下のように行います。

$ pg_ctl -w start

postmaster が起動されたらデータベースへ接続できるか確認を行いましょう。

$ psql -l
        List of databases
   Name    |  Owner   | Encoding 
-----------+----------+----------
 template0 | postgres | EUC_JP
 template1 | postgres | EUC_JP

Copyright © 2005- SRA OSS, Inc. Japan All rights reserved.