pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
由 JDBC 驱动的作者 Peter T. Mount(<peter@retep.org.uk>)编写。
JDBC 是 Java 1.1 及更高版本的核心 API。 它为兼容 SQL 的数据库提供了一组标准 接口。
Postgres 提供一个 4 类(type 4) JDBC 驱动。4 类(type 4)表示 该驱动用纯 Java 编写,并使用数据库系统自己的网络协议 通信。因此,该驱动是平台无关的;一旦编译完成,就可以在任何 系统上使用。
本章并不是一份完整的 JDBC 编程 指南,但应该能帮助你入门。更多信息请参阅标准的 JDBC API 文档。 另外,也可以看看源码中附带的例子。这里使用的是其中的基本示例。
驱动的预编译版本会定期发布在 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 会得到一个有问题的驱动。
要使用该驱动,需要把 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
|
|
在应用程序内载入驱动的内容在 第 8.2 节 中介绍。
由于 Java 只能使用 TCP/IP 连接,必须把 Postgres 服务器配置为 接受 TCP/IP 连接,例如在启动 postmaster 时提供 -i 选项标志。
另外,可能还需要配置 pg_hba.conf 文件中的客户端认证设置。 详情请参阅管理员指南。 JDBC 驱动支持 trust、 ident、password 和 crypt 认证方法。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。