JDBC 是 Java 1.1 及以后的核心 API。 它为 SQL 兼容的数据库提供了一个标准的接口集合。
PostgreSQL 提供了 类型 4 JDBC 驱动。 类型 4 表明该驱动是用纯 Java 书写的, 并且与数据库之间使用数据库自己的网络协议通讯。因此,驱动是平台无关的。一旦编译,该驱动可以用于任意平台。
本章并不想作为完整的 JDBC 编程的指导,但应该能帮你走出第一步。 更多信息请参考标准 JDBC API 文档。 同样,读一下包含在源代码里的例子。
本节描述你在开始书写或者运行使用 JDBC 接口的程序之前需要采取的步骤。
预编译好的驱动通常可以在 PostgreSQL JDBC 站点找到。
另外你可以直接从源程序中制作驱动。尽管你只有在自己改动了驱动的代码情况下才需要这么做。 相关的细节请参考PostgreSQL安装指导。在安装完成后,驱动应该在 PREFIX/share/java/postgresql.jar。 生成的驱动应该是为你运行的 Java 版本制作的。如果你用 1.1 JDK 制作, 那么你制作了一个支持 JDBC 1 规范的驱动,如果你用 Java 2 JDK(比如, JDK 1.2 或者 JDK 1.3),你将制作一个支持 JDBC 2 规范的版本, 而如果你用 1.4 JDK 制作,那么你将制作一个支持 JDBC 3 规范的版本。
要使用驱动,它的 JAR 归档(如果你从源程序制作,那么名字叫 postgresql.jar,否则它很可能叫 pg7.4jdbc1.jar, pg7.4jdbc2.jar 或 pg7.4jdbc3.jar -- 分别用于JDBC 1, JDBC 2,和 JDBC 3 版本)必须包含在类路径里, 你要么是把路径放到 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
在应用里装载驱动的内容在 Section 31.2 里介绍。
因为 Java 只使用 TCP/IP 联接, 所以 PostgreSQL 服务器必须配置成接受 TCP/IP 联接,我们可以通过在 postgresql.conf 文件里设置 tcpip_socket = true 或者启动 postmaster 的时候带-i参数实现这个目的。
同样,在 pg_hba.conf 文件里的客户端认证设置也要配置好。 请参考 Chapter 19 获取细节。 JDBC 驱动支持 trust,ident,password, md5 和 crypt 认证方式。