マイ自宅サーバーで行こう
Windows XP & ADSL  
 
ホーム > 自宅サーバー > PostgreSQLのインストール フォーラム | BLOG | メール
 
 

PostgreSQLデータベースサーバーのインストール

データベースは、大量のデータを高速に処理する専用のシステムです。
ECサイト運用やWebアプリ開発などではもちろんのこと、最近では掲示板やblogなどもデータベースで動作するものが多く、今後のWebシステムには欠かせない機能のひとつです。

サーバー上で利用するオープンソースのデータベースとしては、MySQL や PostgreSQL が有名です。
ここでは、「PostgreSQL」を、Red Hat Linux サーバーへセットアップします。なお、PostgreSQL はLinux向けに開発されているDBですので、WindowsマシンではMySQLを使うことをおすすめします。

>> MySQLのインストールはこちら(Windows篇)
>> MySQLのインストールはこちら(Linux篇)

※ 本稿では、ソースからのコンパイルでインストールする方法と、Red Hat Linux へRPMを使ってインストールする方法の、両方を解説します。

 

始める前に

PostgreSQLをWebと連携して使用するには、PostgreSQL本体のほかに、Webサーバー(Apacheなど)とプログラム実行環境(PerlやPHPなど)が必要です。

 

作成: 2004年08月29日
更新: 2004年08月30日

 

* データベース (Database)
データベースは、DBMSと呼ばれるシステムで運用されます。
データベースとは

* PostgreSQL
オープンソースのリレーショナルデータベースのひとつ。機能が豊富で、人気が高い。

日本では PostgreSQL の人気が高いようですが、世界的にはMySQLの人気が高く、両DBは非常によく利用されております。
個人的な見解ですが、サブクエリーやトランザクションなどの特別な機能を使うのでなければ、高速なMySQLをおすすめします。

PostgreSQLのダウンロード

まずはPostgreSQLを入手します。
オープンソースですので、無料で入手/利用できます。

PostgreSQLは以下のサイトでダウンロードできます。

http://www.postgresql.org/

PostgreSQL

ファイルはアノニマスFTPで提供されています。
Windowsパソコンなら、フォルダとして開けるので、Drag and Drop でダウンロードできます。

postgresql-7.4.5.tar.gz

サーバー上の任意のディレクトリにFTP(アップロード)しておきます。
/usr/local/src あたりが適当でしょう。

 

起動ユーザーの作成

続いて、サーバーのユーザーに postgres を作成します。
PostgreSQLはrootで起動できないため、PostgreSQLを利用するユーザーとして postgres を作成します。

 

PostgreSQL
http://www.postgresql.org/

日本PostgreSQLユーザ会
http://www.postgresql.jp/
日本語でのドキュメントが公開されています。
PostgreSQLのメーリングリストが無料で開設されていますが、有志による運営ですので、いきなり初歩的な質問などを投げないように。

 

 

 

 

 

 

 

 

私がインストールした時点(2004年08月30日)での最新版である 7.4.5 で解説しています。

とりあえず root になっておきます。

$ su

グループとユーザーを作ります。
(サーバーOSが FreeBSD の場合は、useradd の代わりに adduser とします。)

# groupadd postgres
# useradd -g postgres -d /usr/local/pgsql postgres
# passwd postgres

インストール先ディレクトリを作成します。

# mkdir /usr/local/pgsql
# chown -R postgres:postgres /usr/local/pgsql

 

RPMパッケージのチェック

もしお使いのサーバーが Red Hat 系の場合、各ソフトウェアはRPMというパッケージで管理されており、しかも通常はPostgreSQLは標準でインストールされます。*

インストールされているRPMパッケージは以下のコマンドで確認できます。

# rpm -qa | grep postgresql
  • postgresql (必須)
  • postgresql-contrib
  • postgresql-devel
  • postgresql-docs
  • postgresql-jdbc
  • postgresql-libs (必須)
  • postgresql-odbc
  • postgresql-pl
  • postgresql-python
  • postgresql-server (必須)
  • postgresql-tcl
  • postgresql-test
  • postgresql72-libs

RPMパッケージのインストールは、以下のコマンドで行なえます。

# rpm -ivh postgresql*.rpm

RPMが入っている場合は、そのまま使うことが可能です。

ただし、何かとトラブルも多いので、RPMをアンインストールし、ソースからコンパイルすることをおすすめします。ソースからコンパイルする場合、そのまま .tar.gz パッケージをインストールすると、既に入っているRPMとコンフリクト(衝突)を起こす場合があるので、予めアンインストールしておく必要があります。

RPMパッケージのアンインストールは、以下のコマンドで行なえます。

# rpm -e postgresql*

 

 

* Red Hat Linux 9 の場合、PostgreSQLの 7.3.4-3 というバージョンが入っていました。

 

 

 

 

 

 

 

 

 

* 「*」の部分はパッケージ名

 

 

 

 

 

* 「*」の部分はパッケージ名

PostgreSQLのインストール

ここでは定石通りソースからコンパイルする方法を紹介します。

作成したユーザーに変身します。

# su - postgres

ダウンロードしたtarボールを展開します。(\は¥をタイプします)

$ cd /usr/local/src
$ tar zxvf postgresql-7.4.5.tar.gz
$ cd postgresql-7.4.5
$ ./configure \
     --enable-multibyte=EUC_JP \
     --prefix=/usr/local/pgsql

コンパイルします。(ついでにテストもしておきます。)

$ make all
$ make check

インストールします。(ついでにログを作っておきます。)

$ make install
$ make install >& install.log

PostgreSQLを起動するユーザー postgres の .bash_profile を編集します。

$ vi ~/.bash_profile
export PATH=$PATH:/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export PGDATA=/usr/local/pgsql/data

設定を反映させます。

$ source ~/.bash_profile

データベースを初期化します。

$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

「Success. You can now start the database 〜」と表示されれば成功です。

 

PostgreSQLの起動

起動します。
ユーザー postgres で起動します。

$ pg_ctl -w start

または

$ postmaster -S -i

「postmaster successfully started」と表示されれば成功です。
私は以下のコマンドで起動しています。

$ pg_ctl -o "-S -i" start

停止する場合は以下のようにします。

$ pg_ctl -w stop

 

 

 

 

 

-S は、デーモンで起動するオプションです。
-i は、インターネットソケットを利用するオプションです。

 

他のホストから接続できるように設定を変更します。

$ vi /usr/local/pgsql/data/pg_hba.conf

以下は設定例です。

# すべての接続を許可(危険)
host  all  0.0.0.0  0.0.0.0  trust
# データベース名databaseへのすべての接続を許可
host  database  0.0.0.0  0.0.0.0  trust
# パスワード認証を行なう
host  all  0.0.0.0  0.0.0.0  password
# 192.168.0.10からの接続を許可
host  all  192.168.0.10  255.255.255.255 trust

 

基本的な設定は以上です。

 

 

 
  注意事項  
 
自宅サーバーで行こう - Windows XP & ADSL編
Copyright © 2003,2004 Y.Kitagawa all rights reserved.