JDBC は、Java 1.1 以降のコア API です。 SQL に準拠したデータベースへのインタフェースの標準セットを提供します。
PostgreSQL は、タイプ 4 の JDBC ドライバを提供します。 タイプ 4 とは、ドライバが Pure Java で記述され、データベース自身のネットワークプロトコルで通信を行うことを意味します。 このため、ドライバはプラットフォームに依存しません。 一度コンパイルを行えば、そのドライバはどのプラットフォームでも使用することができます。
本章は JDBC プログラミングの完全な手引きを意図していませんが、これから使い始めようという場合に役にたちます。 より詳細については、標準の JDBC API の資料を参照してください。 また、ソースに付随している例も見てください。
本節では、JDBCインタフェースを使用するプログラムの作成、実行ができるようになる前に行なわなければならないステップについて説明します。
コンパイルされたバージョンのドライバは、PostgreSQL JDBC の Webサイト から入手できます。
また、ソースからドライバを構築することもできますが、これを行う必要があるのはソースコードに変更を加える場合のみです。 詳細については、PostgreSQL のインストール手順を参照してください。 インストール後、ドライバが PREFIX/share/java/postgresql.jar に作成されているはずです。 作成されるドライバは実行した Java のバージョンに合わせられます。 JDK 1.1 を使用する場合は、JDBC1 仕様をサポートするバージョンが作成され、JDK 1.2 または JDK 1.3 を使用する場合は、JDBC2仕様をサポートするバージョンが、JDK1.4を使用する場合はJDBC3仕様をサポートするバージョンが構築されます。
ドライバを使うためには、JAR ファイル (ソースからコンパイルした場合は postgresql.jar、さもなくば、それぞれ JDBC 1、JDBC 2、JDBC 3 バージョンである、pg7.4jdbc1.jar、pg7.4jdbc2.jar、pg7.4jdbc3.jar)をクラスパスに含む必要があります。 そのためには、CLASSPATH 環境変数が指す場所に置くか、java コマンドのオプションで指定します。
例として、JDBC ドライバを使用してデータベースにアクセスするアプリケーションがあり、それが/usr/local/lib/myapp.jarにあるとします。 PostgreSQL JDBC ドライバは/usr/local/pgsql/share/java/postgresql.jarとしてインストールされます。 この場合、このアプリケーションを実行するには次のようにします。
export CLASSPATH=/usr/local/lib/myapp.jar:/usr/local/pgsql/share/java/postgresql.jar:. java MyApp
アプリケーション内部からドライバをロードする方法は項31.2で説明します。
Java は TCP/IP 接続しか使用しませんので、PostgreSQL サーバは TCP/IP 接続を受け入れるように構成しなければなりません。 この構成は postgresql.conf ファイルで tcpip_socket = true と設定するか、postmaster の起動時に -i オプションを与えることで可能になります。
また、pg_hba.conf ファイルによるクライアント認証の設定が必要かもしれません。 詳細は第19章を参照してください。 JDBC ドライバは、trust、ident、password、md5、crypt認証方法をサポートします。