ほぷしぃ

RedHatサーバインストール

Linux インストールmemo /  Apacheとmod_sslを使用してのSSL対応 /  JDKのインストール /  Tomcatのインストール /  PostgreSQLとANTのインストール /  qmailとメールサーバ /  tcpserverのインストール方法 /  RedHatについてのTips /  tarコマンドの使い方 /  一枚のNICに複数のIPを割り当てる方法 /  Linuxでのハードディスクの増設法

PostgreSQLのインストール

PostgreSQLとは・・・??

PostgerSQLとは、フリーのデータベースシステムです。フリーのソフトならばパフォーマンスがわるいのでは・・?と考えるかたもいらっしゃると思いますが、Oracle等と比較しても劣ることのない本格的なデータベースです。インストール方法を以下に記述します。

必要なもの

今回の例では「PostgreSQL7.1.3」をインストールします。またJAVAとの連動を考えているので、「jakarta-Ant1.4」もインストールします。そのためPostgerSQLのホームページ(http://www.postgresql.org)から「postgresql-7.1.3-patched-20010914.tar.gz」を入手します。また、jakarta-Antをjakartaプロジェクト(http://jakarta.apache.org/)のホームページから「jakarta-ant-1.4-bin.tar.gz」を入手します。 最後に・・・JDKのインストールをしておきます。これを怠ると、今回の例ではインストールできませんが、JAVAを連動しない場合は必要ありません。

インストール方法

1.前準備

まず、標準でインストールされてしまっているpostgresql関係のrpmパッケージについて調べます。
以下のコマンドを実行

rpm -qa | grep postgres*

結果

postgresql-server-7.0.3-8
postgresql-7.0.3-8
postgresql-devel-7.0.3-8

必要ないため、アンインストール

rpm -e postgresql-server

ここまでは問題なく終了
ここでPostgreSQL本体をアンインストールしますが

rpm -e postgresql
エラー:これらのパッケージを削除すると依存性を破壊します:
postgresql = 7.0.3 はpostgresql-devel-7.0.3-8に必要とされています
postgresqlは php-pgsql-4.0.4p11-9 に必要とされています
libpq.so は perl-DBD-Pg-0.95-1に必要とされています
libpq.so は php-pgsql-4.0.4p11-9 に必要とされています

PHPは必要ないのでphp-pgsql-4.0.4p11-9も削除します。
perl-DBD-Pg-0.95-1もあとで必要になれば入れなおすとして、ここではとりあえず削除。

rpm -e perl-DBD-Pg
rpm -e php-pgsql
rpm -e postgresql-devel

問題なく終了。
ここであらためてPostgreSQL本体を削除。

rpm -e postgresql

今度は問題なく終了
しかし/etc/passwdをみると、user postgres が消えていた!postgreユーザがないとインストールができないため、postgresユーザをつくります。(#ルートにて実行)まず、postgresユーザのhomeディレクトリをつくります。

mkdir /home/postgres

そして、所有者、グループをpostgresに変更

chown postgres /home/postgres
chgrp postgres /home/postgres

これでひとまず、ユーザはOK

2.jakarta-Antのインストール

JDBC(JAVAとPostgreSQLをつなぐパイプみたいなもの)の作成にはJDKとjakarta-Antが必要です。JDKのインストールは終わっているので、jakarta-Antをインストールします。
まず、jakarta-ant-1.4-bin.tar.gzを/usr/localにおきます。

mv jakarta-ant-1.4-bin.tar.gz /usr/local

/usr/localに移動

cd /usr/local

そして、jakarta-ant-1.4-bin.tar.gzを解凍、展開

tar -xvzf jakarta-ant-1.4-bin.tar.gz

/usr/local以下にjakarta-ant-1.4ディレクトリができます。その後、postgresユーザにantへのパスを通します。ついでにjavaのパスも通しましょう。
まず、postgresユーザになります。

su - postgres

これでpostgresユーザになり、postgresユーザのホームディレクトリ/home/postgresに移動します。ここで、vi等のエディタで設定ファイル".bash_rc"を開きます。

vi .bash_rc

ここで、以下の設定を追加します。

export JAVA_HOME=/usr/java/jdk1.3.1_01
export ANT_HOME=/usr/local/jakarta-ant-1.4
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin

設定をすぐに反映させたい場合は

source .bash_rc

3.PostgreSQL本体のインストールと実行

postgresqlをインストールするディレクトリを作成します。現在はpostgresユーザなので、ルート(#)にもどります。

exit

ルート(#)に戻ったら

mkdir /usr/local/pgsql

そして、できあがったpgsqlディレクトリの所有をpostgresに変更しておきます。

chown postgres /usr/local/pgsql
chgrp postgres /usr/local/pgsql

ここから先はpostgresユーザになる

su - postgres

downloadした"postgresql-7.1.3-patched-20010914.tar.gz"をとりあえず/tmpにおきます。
とりあえず/tmpに移動

cd /tmp

解凍と展開を実行。

tar -zxvf postgresql-7.1.3-patched-20010914.tar.gz

展開されたディレクトリへ移動

cd postgresql-7.1.3

configureの実行

./configure --enable-multibyte=EUC_JP --enable-unicode-conversion --enable-syslog --with-java

エラーなく終了したらmakeを実行します。

make

今回は問題なし
心配なので一応チェックします

make check > /home/postgres/make.check

/home/postgres/makecheckを見た結果問題がないようである。
実際にインストールをする。

make install

問題なし。
次にperlモジュールも組み込む。
PostgreSQLが展開されたディレクトリに移動します。

cd /tmp/postgresql-7.1.3

もう一度configureを実行します。

./configure --with-perl

問題なし。

makeします。

make

つぎのようなメッセージが出現!!

Cannot build PL/Perl because libperl is not a shared library.
Skipped.

しかし"All of PostgreSQL successfully made. Ready to install"で一応make完了。
なお、ここでスキップされた"PL/Perl"というのは、Oracleで言う"PL/SQL"に相当するものです。使用しなければ、無視してかまいません。

インストール実行

make install

問題なく終了。/usr/local/pgsqlの中身を確認します。
一通り出来上がっているので確認作業に移ります。
/usr/home/postgres/の".bash_rc"をviで開き、以下を追加します。

PATH=$PATH:/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$POSTGRES_HOME/lib

source ~/.bash_rc を実行して、設定を再読み込みもしくはログインしなおします。
データベースの初期化を行います。これはインストール後一度だけ実行すればよいです。

initdb

postgresqlの起動を確認します。

postmaster -S -i

で起動し、

ps -ef | grep post

postmaster が起動していることを確認します。これでインストール作業は終了です。あとはデータベースを作成してデータを流し込めば立派なデータベースが完成します。

最後に

最後に、PostgreSQLで実行している"make"はGNUのmakeです。つまり"gmake"が導入されていなければconfigureではじかれてしまいます。FreeBSDユーザやSolarisユーザは"gmake"のパッケージを導入して実行する必要があります。

次のページへ ページのトップへ 次のページへ