↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.

第 8 章 JDBC 接口

作者

由 JDBC 驱动的作者 Peter T. Mount()编写。

JDBC 是 Java 1.1 及更高版本的核心 API。它为兼容 SQL 的数据库提供了一组标准接口。

Postgres 提供一个 4 类(type 4)JDBC 驱动。4 类(type 4)表示该驱动用纯 Java 编写,并使用数据库系统自己的网络协议通信。因此,该驱动是平台无关的;一旦编译完成,就可以在任何系统上使用。

本章并不是一份完整的 JDBC 编程指南,但应该能帮助你入门。更多信息请参阅标准的 JDBC API 文档。另外,也可以看看源码中附带的例子。这里使用的是其中的基本示例。

8.1. 设置 JDBC 驱动 #

8.1.1. 构建驱动 #

驱动的预编译版本会定期发布在 PostgreSQL JDBC 网站上。这里我们描述如何手工构建驱动。

从 PostgreSQL 7.1 版开始,JDBC 驱动使用 Ant 构建,这是一种专门用于构建基于 Java 的包的工具。在继续之前,你应该从Ant 网站下载 Ant 并安装。预编译的 Ant 发行版通常会读取当前用户主目录中的 .antrc 文件进行配置。例如,要使用与默认值不同的 JDK,可以这样:

JAVA_HOME=/usr/local/sun-jdk1.3
JAVACMD=$JAVA_HOME/bin/java

要构建驱动,请在你的 configure 命令行中加上 --with-java 选项,例如:

$ ./configure --prefix=xxx --with-java ...

这样,当你执行 gmake 和 gmake install 命令时,驱动会与 PostgreSQL 包的其余部分一起构建和安装。如果你只想构建驱动而不构建 PostgreSQL 的其余部分,可以进入目录 src/interfaces/jdbc 并在那里执行相应的 make 命令。关于配置和构建过程的更多信息,请参阅 PostgreSQL 安装说明。

注意

不要试图通过直接调用 javac 来构建,因为驱动出于性能原因使用了一些动态加载技术,而 javac 无法应对。也不要试图直接运行 ant,因为有些配置信息是通过 makefile 传递的。在不提供这些参数的情况下直接运行 ant 会得到一个有问题的驱动。

8.1.2. 设置类路径 #

要使用该驱动,需要把 jar 归档 postgresql.jar 包含在类路径中,可以把它放入 CLASSPATH 环境变量,或者在 java 命令行上使用相应的标志。默认情况下,该 jar 归档安装在 /usr/local/pgsql/share/java 目录中。如果你运行 configure 时使用了 --prefix 选项,那么它可能在不同的目录中。

例如,我有一个应用程序使用 JDBC 驱动访问一个包含天体数据的大型数据库。该应用程序和 JDBC 驱动都安装在 /usr/local/lib 目录中,而 Java JDK 安装在 /usr/local/jdk1.1.6。要运行该应用程序,我可以使用:

export CLASSPATH=/usr/local/lib/finder.jar(1):/usr/local/pgsql/share/java/postgresql.jar:.
java uk.org.retep.finder.Main

(1)

finder.jar 包含我的应用程序。

在应用程序内载入驱动的内容在第 8.2 节中介绍。

8.1.3. 为 JDBC 准备数据库 #

由于 Java 只能使用 TCP/IP 连接,必须把 Postgres 服务器配置为接受 TCP/IP 连接,例如在启动 postmaster 时提供 -i 选项标志。

另外,可能还需要配置 pg_hba.conf 文件中的客户端认证设置。详情请参阅管理员指南。JDBC 驱动支持 trust、ident、password 和 crypt 认证方法。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.