pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
最初由 JDBC 驱动最初的作者 Peter T. Mount(<peter@retep.org.uk>)编写。
JDBC 是 Java 1.1 及更高版本的核心 API。 它为兼容 SQL 的数据库提供了一组标准 接口。
PostgreSQL 提供一个 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 ...
这样,当你执行 make/gmake 和 make/gmake install 命令时,驱动会与 PostgreSQL 包的其余部分一起构建和安装。 如果你只想构建驱动而不构建 PostgreSQL 的其余部分,可以进入目录 src/interfaces/jdbc 并在那里执行 相应的 make/gmake 命令。关于配置和构建过程的 更多信息,请参阅 PostgreSQL 安装说明。
从源码构建驱动时,创建的 jar 文件将名为 postgresql.jar。构建会在 src/interfaces/jdbc/jars 目录中生成该文件。构建出的驱动将针对你正在使用的 Java 版本构建。如果你用 1.1 JDK 构建,会得到一个支持 jdbc1 规范的版本;如果用 Java2 JDK(即 JDK1.2 或 JDK1.3)构建,会得到一个支持 jdbc2 规范的版本。
不要试图通过直接调用 javac 来构建驱动, 因为驱动出于性能原因使用了一些动态加载技术,而 javac 无法应对。也不要试图直接运行 ant,因为有些配置信息是通过 makefile 传递的。在不提供这些参数的情况下直接运行 ant 会得到一个有问题的驱动。
要使用该驱动,需要把 jar 归档(如果你是从源码构建的,它名为 postgresql.jar,否则它可能名为 jdbc7.2-1.1.jar 或 jdbc7.2-1.2.jar,分别对应 jdbc1 和 jdbc2 版本) 包含在类路径中,可以把它放入 CLASSPATH 环境变量,或者在 java 命令行上使用相应的标志。默认情况下,该 jar 归档 安装在 /usr/local/pgsql/share/java 目录中。如果你运行 configure 时使用了 --prefix 选项,或者你使用的二进制发行版 把它放在了别的位置,那么它可能在不同的目录中。
由于 Java 只使用 TCP/IP 连接,必须把 PostgreSQL 服务器配置为 接受 TCP/IP 连接。这可以通过在 postgresql.conf 文件中设置 tcpip_socket = true,或者在启动 postmaster 时提供 -i 选项标志来完成。
另外,可能还需要配置 pg_hba.conf 文件中的客户端认证设置。 详情请参阅管理员指南。 JDBC 驱动支持 trust、 ident、password、md5 和 crypt 认证方法。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。