PostgreSQL 7.4 の JDBC ドライバをビルド

2007/12/12 3:59am

PostgreSQL 7.4.13 以降で起こる異なるエンコーディング間の変換エラーがいまだに尾を引いている。

悩んだ末、JDBC ドライバのソースコードを読むだけではなく、実際にビルドして動作を確認してみた方がいいだろう、ということになった。JDBC ドライバにパッチを当てて問題を回避することも視野に入れている。できれば、やりたくないけれど…。

PostgreSQL 7.4 の JDBC ドライバをビルドするために必要な手順は、おおまかに分けると以下のようになる。

  1. CVS からソースコードを取得
  2. build.properties を用意
  3. ビルド

CVS からソースコードを取得

PostgreSQL JDBC ドライバの CVS リポジトリからバージョン 7.4 リリース時のタグを指定してソースコードを取得する。

cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/jdbc login
cvs -z3 -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/jdbc co **-r REL7_4_STABLE** -P pgjdbc

build.properties を用意

バージョン番号情報などを指定するための build.properties がないとビルドが失敗してしまう。 トップディレクトリに build.properties を作成し、以下のように書いておこう。

major=7
minor=4
fullversion=7.4.5
edition=JDBC3
def_pgport=5432
enable_debug=no
connectclass=org.postgresql.jdbc3.Jdbc3Connection

major, minor, fullversion, editionorg.postgresql.Driver.getVersion() で使われる。

それ以外の変数には以下のような意味があるようだ。

今回は JDBC3 向けのドライバをビルドしたかったので、connectclass には org.postgresql.jdbc3.Jdbc3Connection を指定した。

ビルド

あとは Ant を実行すると jars ディレクトリに postgresql.jar と postgresql-examples.jar ができているはずだ。