PostgreSQL

 

PostgreSQL

フリーのデータベース

Program /usr/local/pgsql/bin/psql

ダウンロード先 (RPM版)

         (tar.gz版) http://www5.jp.postgresql.org/software.html
Install (tar.gz)版で、PsotgreSQL をする場合のインストールの仕方を書く。
実行方法 postmaster -S
備考 2004/01/03 更新・追加(7.4系へのアップグレード)
2004/03/13 PostgreSQL 7.4.2へアップグレード(基本的に前回のオプションと同じで構築化)

苦情・訂正・校正など・・ tomoyo@kmr.homeip.net
なんでもくれ・・いたずらはアポ〜ン

 


 

PsotgreSQL + perl 環境をインストールする手順
 


Install 手順
 


説明

tar zxvf postgresql-7.2.tar.gz

PostgreSQLをダウンロードしてきて、解凍する

cd postgresql-7.2
./configure -with-mb=EUC_JP --enable-local --enable-multibytes --with-perl 文字コードをEUCにする。マルチバイトを許可する。Perlとの連携
make
make install

7.4系へのアップグレード(2004/01/04)

メジャーバージョンアップの場合DBのフォーマットが変わるため必ず現在のDBのダンプを取ってから作業を行う。
フォーマットが変わるだけであって、命令が変わるわけではないの前バージョンで作成したプログラムについては、動作は問題ないハズ?
(以前のバージョンで作った、C言語、PHP、JAVA,Rubyのアプリは通常動作した。)



念のため現在のpgsqlディレクトリィを丸ごとバックアップする。
$cp -prv /usr/local/pgsql /usr/local/pgsql.7.3.4(今日現在のバージョンがv7.3.4だったため)

#バックアップ(ただしラージオブジェクトは無いものとする)
$su postgres
$pg_dumpall > db.out.2004.01.04

#リストア
$su postgres
$initdb -D /usr/local/pgsql/data
$>psql -f db.out.2004.01.04 template1

7.2を入れた時は(一年前ぐらいか・・何もかも懐かしい)、意味も判らずやっていた記憶があるので、説明が足りてないと思うので補足を入れながら説明を付け足す。
現在のpostgresは、適切なバックアップ作業を行った後、消しておいた。

gmake install gmake gmake install-all-headers
以外は、解凍もすべて、postgresユーザ権限で行う。当然、ファイル自体もユーザ権限を変えておく

$chown postgres postgresql-7.4.1.tar.gz
$chgrp postgres postgresql-7.4.1.tar.gz

$su postgres
$tar zxvf postgresql-7..4.1.tar.gz
$cd postgresql-7.4.1

$./configure --enable-nls --enable-integer-datetimes --with-tcl --without-tk \
--with-perl --with-python --with-java
(JDBCを作る場合には、当然 j2sdkとant1.5以上などが必要)

2004/03/13 PostgreSQL 7.4.2へアップグレード時のオプションは、2つばかり、オプションを追加した。
理由:perlからPostgreSQLへアクセスする可能性もあることから。
$./configure --enable-nls --enable-integer-datetimes --with-tcl --without-tk \
--with-perl --with-python --with-java --with-perl --with-openssl


$gmake all
$gmake install-all-headers
$gmake install

C言語などで、PostgreSQLを使って開発する場合は gmake gmake install-all-headersも必要
wu-ftpd+postgresなど、Deamonの改良などもしてるので当然入れた。


7.2系の構築からだいぶ環境も変わり、J2SEの環境も整っているので、JDBCドライバも一緒に作れるように、
--with-javaオプションを入れている。7.3系の時に、既に作ってる場合は、
/usr/local/j2sdk1.4.2/jre/lib/ext/postgresql.jar があるので、必要に応じて古いのは消す必要がある。
CLASSPATHなどで設定してると、パスを辿って古いものを検知してしまうので、一時的にパスも切っておく。



pg.pm をコンパイルする
http://search.cpan.org/search?module=Pg
上記の場所から、pg.pmをダウンロードする。PostgreSQLを解凍した際に ~/PostgreSQL/src/interface/perl5/ 内にも同じものが生成されているがうまくコンパイルできない事があるので、あえて、上記の再とからダウンしてコンパイルする。
 
 
 
コンパイル手順  
perl ./Makefile.PL #1  
make #2  
make test #3  
make install #4  
なお、#1〜#3までの作業は、root以外で作業しなければならない。今回postgresのアカウントでコンパイル作業を行った。
 
 
 
 

環境設定
bash環境
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPTH":$:POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
以上打ちこんだら、
即反映の場合は、source ~/.bashrc を打ちこむ。
 
/usr/local/pgsql/data/pg_hba.confを設定する
$vi pg_hba.conf

#ローカルIPからのTCP/IP接続を許可する
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all 192.168.1.0 255.255.255.0 trust
 
/usr/local/pgsql/data/postgresql.confを設定する
$vi pg_hba.conf

#tcp/ipの接続を許可する。
tcpip_socket = true
LC_MESSAGES = 'ja_JP.eucJP'
LC_MONETARY = 'ja_JP.eucJP'
LC_NUMERIC = 'ja_JP.eucJP'
LC_TIME = 'ja_JP.eucJP'
 
Apacheのhttpd.confを設定する
 
apacheの設定ファイルhttpd.confにて、以下のような記述をする。

SetEnv LD_LIBRARY_PATH /usr/local/pgsql/lib

 
 

設定終了・・運用

初期化の実行を行う。
initdb

プログラムを常駐させる
su postgres
postmaster -S

 

 
 

リファレンスについて


http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/reference.html

上記場所に、PostgreSQLのリファレンスが掲載されている。
また、日本PostgreSQLユーザ会PostgreSQL Mirror Sitesで、最新情報をチェックした方が良い。

使い方は、ここでの範囲を超えるので記載しない。
自サイトでのPostgreSQLリファレンスは現在製作中なのでそちらで書こうと思う。(つーかSQL勉強中(汗



2004/01/04
重要
jdbcは以前の postgresql.jarがあると、コンパイル時にチェックがかかり、最後までコンパイルできないようになってたのではまった。
CLASSPATHの設定を全部取った上で、
/usr/local/j2sdk/jre/lib/ext/postgresql.jar と /usr/local/pgsql/share/java/postgresql.jar などを消すことによりやっとだたしくコンパイルがかかった。

SQL勉強中とか書いてある、一年以上前の、書き込みが懐かしい(w



Enter