纯 Go 实现的 PostgreSQL 驱动与工具包,支持 LISTEN/NOTIFY、COPY 等 PostgreSQL 专有功能。
pgjdbc/pgjdbc
纯 Java 实现的 PostgreSQL JDBC 驱动,让 Java 程序通过标准 JDBC 接口连接和操作 PostgreSQL 数据库。
- Star
- 1,747
- Fork
- 959
- 未关闭 Issue
- 548
- 最近提交
- 前天
这是什么?
PgJDBC 是 PostgreSQL 的 JDBC 驱动,用纯 Java(Type 4)实现,直接使用 PostgreSQL 原生网络协议与数据库通信,无需本地库。Java 程序可以使用标准的、与数据库无关的 JDBC 代码进行连接和查询,驱动负责底层的连接与协议细节。
驱动支持 Java 8(JDBC 4.2)及更高版本,并兼容 PostgreSQL 8.4 及以上版本(使用协议 3.0)。可以通过 Maven Central 引入项目依赖,也可以从官方下载页获取预编译的 jar 包。连接行为通过 JDBC URL 和大量连接属性配置,涵盖 SSL/TLS、GSSAPI 与 SSPI 认证、SCRAM、超时设置、预编译语句缓存、批量插入改写、多主机负载均衡以及结果集抓取大小等。
项目提供 DataSource、ConnectionPoolDataSource 和 XADataSource 实现,日志通过 java.util.logging 输出,logger 名称为 org.postgresql。
核心功能
- 01纯 Java 的 Type 4 驱动,直接使用 PostgreSQL 原生网络协议通信。
- 02支持 SSL/TLS 加密连接,可配置加密模式与证书。
- 03支持 GSSAPI、SSPI、SCRAM 等多种认证方式。
- 04提供服务端预编译语句缓存,并可配置预编译阈值。
- 05可将批量 INSERT 语句改写为多行插入以提升性能。
- 06支持多主机列表、负载均衡以及目标服务器类型选择。
适用场景
- 为 Java 或 Kotlin 后端服务接入 PostgreSQL 数据库。
- 为依赖 JDBC 驱动的 JPA、Hibernate 等 ORM 提供 PostgreSQL 连接。
- 在 PostgreSQL 上使用 XA 分布式事务或连接池的 Java 应用。
- 连接由多个主机组成的 PostgreSQL 集群并进行读写分离。
快速上手
- 1
将 Maven Central 上的 PostgreSQL JDBC 依赖添加到 pom.xml 中
- 2
使用形如 jdbc:postgresql://host/database 的 JDBC URL 进行连接
收录于专题
标签
常见问题
- pgjdbc 是什么?
- 纯 Java 实现的 PostgreSQL JDBC 驱动,让 Java 程序通过标准 JDBC 接口连接和操作 PostgreSQL 数据库。 PgJDBC 是 PostgreSQL 的 JDBC 驱动,用纯 Java(Type 4)实现,直接使用 PostgreSQL 原生网络协议与数据库通信,无需本地库。Java 程序可以使用标准的、与数据库无关的 JDBC 代码进行连接和查询,驱动负责底层的连接与协议细节。
- pgjdbc 可以免费使用吗?用的什么许可证?
- pgjdbc 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- pgjdbc 还在维护吗?
- 活跃维护中。pgjdbc 最近一次提交是在 2026年11月4日。
- pgjdbc 适合用来做什么?
- 为 Java 或 Kotlin 后端服务接入 PostgreSQL 数据库。 为依赖 JDBC 驱动的 JPA、Hibernate 等 ORM 提供 PostgreSQL 连接。 在 PostgreSQL 上使用 XA 分布式事务或连接池的 Java 应用。 连接由多个主机组成的 PostgreSQL 集群并进行读写分离。
- pgjdbc 怎么安装和运行?
- 将 Maven Central 上的 PostgreSQL JDBC 依赖添加到 pom.xml 中 使用形如 jdbc:postgresql://host/database 的 JDBC URL 进行连接
- 在哪里获取 pgjdbc?
- 源代码和安装说明在 GitHub 上:https://github.com/pgjdbc/pgjdbc
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 Node.js 的非阻塞 PostgreSQL 客户端,提供纯 JavaScript 驱动与可选的原生 libpq 绑定。
免费的跨平台桌面 SQL 客户端与数据库工具,支持 100 多种数据库。
纯 Rust 的异步 SQL 工具库,可在编译期校验直接书写的 SQL,支持 PostgreSQL、MySQL/MariaDB 和 SQLite。
基于 Java 的开源工具,用于从生产数据库中抽取保持引用完整性的数据子集,并沿外键关系浏览数据。