SAK 図書館
PostgreSQL 7.2.3(postgresql-7.2.3.tar.gz)、JDBC pgjdbc2.jar インストール
PostgreSQL の SQL 検証をしていたら、7.0.2 では、cross join しか使えない
ことが判明。(^^;
で、なんとか PostgreSQL 7.2.3(postgresql-7.2.3.tar.gz) をインストールし
てみた。
■Cygwin B20、Cygwin 2.05b でのコンパイル
・Cygwin B20 で PostgreSQL 7.2.3 をコンパイルするとエラーが発生した。
仕方なく、Cygwin 2.05b をインストールして挑戦した。
ところが、かなり試行錯誤したのだが、cygipc 関係のエラーで、どうして
もコンパイルできない。(^^;
それぞれのバージョンの組み合わせなんだろうか。それとも cygipc の環境
設定にミスがあるのだろうか...
徹夜するも解決できず、あやしい手段に走る。(^^;
・Cygwin B20 の /cygnus/usr/include/w32api/ として、最新版 Cygwin の
w32api/ をコピーする。
■PostgreSQL(postgresql-7.0.2.tar.gz) インストール
・postgresql-7.2.3.tar.gz を /cygnus/ にコピー後、次のようにする。
(以下、あやしい手段である。) (^^;
cd /usr/src/pgsql
tar -zxf /postgresql-7.2.3.tar.gz
cd /usr/src/pgsql/postgresql-7.2.3
./configure --enable-multibyte=EUC_JP
・正常にコンフィグレーションが完了すると、次のように終了する。
...
...
...
creating src/Makefile.global
creating src/backend/port/Makefile
creating src/include/pg_config.h
linking ./src/backend/port/dynloader/win.c to src/backend/port/dynloader.c
linking ./src/backend/port/dynloader/win.h to src/include/dynloader.h
linking ./src/include/port/win.h to src/include/pg_config_os.h
linking ./src/makefiles/Makefile.win to src/Makefile.port
linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s
・次のようにコンパイルすると、エラーが発生した。
make
...
...
...
make[4]: *** [excid.o] Error 1
make[3]: *** [error-recursive] Error 2
make[2]: *** [utils-recursive] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2
・エラーは、excid.o と execute.o で発生する。
最新版 Cygwin でのコンパイル結果を見ると、cygipc でエラーになってい
るものの この二つのオブジェクトはコンパイル出来ていることを発見。
そこで、Cygwin B20 に次のようにコピーした。
/usr/src/pgsql/postgresql-7.2.3/src/backend/utils/error/excid.o
/usr/src/pgsql/postgresql-7.2.3/src/interfaces/ecpg/lib/execute.o
・excid.o、execute.o コピー後に再 make する。
make
・正常にコンパイルできると、次のように終了する。
...
...
All of PostgreSQL successfully made. Ready to install.
・旧版 /usr/local/pgsql/ のフォルダ名を pgsql_old/ に変更する。
(支障が発生すれば、旧版を使おう作戦。) (^^;
・make install で /usr/local/pgsql/ に新版をインストールする。
make install
・インストールが正常に終了すれば、
/usr/local/pgsql/lib/pq.dll → /usr/local/pgsql/bin/pq.dll
とコピーする。
■PostgreSQL データベース初期化
・次のように入力する。
initdb
■後始末
・以上が正常に終了すれば、/ の次のファイルは不要である。
postgresql-7.2.3.tar.gz
■JDBC ドライバ pgjdbc2.jar インストール
・ODBC や JDBC は、現行のものでも基本動作はしたが、JDBC ドライバについ
ては不安なので、pgjdbc2.jar をインストールした。
pgjdbc2.jar については、JDBC ドライバの make もうまくいかず、ダウン
ロードしてきた。(Servlet や JSP のソースの修正は不要であった。)
・JDBC ドライバ pgjdbc2.jar のインストール先は、次のようにした。
c:/cygnus/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/pgjdbc2.jar
・CLASSPATH は、次のようにした。
尚、Cygwin B20 では、「"」で囲まないと「;」でエラーになる。
また、普通のパスは、Cygwin B20 では「:」で区切るが、CLASSPATH は、
DOS と同じく「;」でかつ、「c:/...」のようにシステムパスから指定する
必要がある。
export CLASSPATH=".;c:/cygnus/jakarta-tomcat-3.3.1/lib/common/servlet.jar;c:/cygnus/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/pgjdbc2.jar"
■PostgreSQL 起動、終了
・PostgreSQL の起動、終了は、旧版と同じで問題ないようである。
但し、DB 構造がかなり異なっているため、Interactive PostgreSQL(ipgsql)
は正常に使えなかった。
PostgreSQL 編3 - ipc-daemon 起動、PostgreSQL 起動、psql 起動、ipgsql
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料