纯 Go 实现的 PostgreSQL 驱动与工具包,支持 LISTEN/NOTIFY、COPY 等 PostgreSQL 专有功能。
brianc/node-postgres
面向 Node.js 的非阻塞 PostgreSQL 客户端,提供纯 JavaScript 驱动与可选的原生 libpq 绑定。
- Star
- 13,230
- Fork
- 1,384
- 未关闭 Issue
- 566
- 最近提交
- 15天前
这是什么?
node-postgres(npm 包名 pg)是一个 Node.js 的 PostgreSQL 客户端,也可运行于 bun、Deno 和 Cloudflare 等环境。它以纯 JavaScript 实现,同时提供可选的原生 libpq 绑定,两者共享相同的 API。
该库覆盖了常见的 Postgres 应用需求:连接池、参数化查询、带查询计划缓存的命名语句,以及用于异步通知的 LISTEN/NOTIFY。大批量数据可通过 COPY TO 和 COPY FROM 导入导出,并支持自定义 JavaScript 与 PostgreSQL 数据类型之间的转换。
仓库采用 monorepo 结构,同时发布 pg-pool、pg-cursor、pg-query-stream、pg-connection-string 等相关包。它刻意保持较少的抽象层,适合希望直接编写 SQL、而不是使用 ORM 的开发者。
核心功能
- 01纯 JavaScript 客户端,可选原生 libpq 绑定,二者 API 一致
- 02内置连接池
- 03支持参数化查询与带查询计划缓存的命名语句
- 04通过 LISTEN/NOTIFY 接收异步通知
- 05使用 COPY TO/COPY FROM 进行批量导入导出
- 06可扩展的 JavaScript 与 PostgreSQL 数据类型转换
适用场景
- 使用 Node.js 编写、需要连接 PostgreSQL 数据库的后端服务
- 运行在 Cloudflare 或 Deno 上、需要 Postgres 驱动的无服务器或边缘函数
- 依赖 LISTEN/NOTIFY 处理实时事件的应用
- 使用 COPY 进行批量数据导入的任务
快速上手
- 1
从 npm 安装 pg 包
npm install pg - 2
阅读 node-postgres.com 上的文档,了解如何连接和执行查询
收录于专题
标签
常见问题
- node-postgres 是什么?
- 面向 Node.js 的非阻塞 PostgreSQL 客户端,提供纯 JavaScript 驱动与可选的原生 libpq 绑定。 node-postgres(npm 包名 pg)是一个 Node.js 的 PostgreSQL 客户端,也可运行于 bun、Deno 和 Cloudflare 等环境。它以纯 JavaScript 实现,同时提供可选的原生 libpq 绑定,两者共享相同的 API。
- node-postgres 可以免费使用吗?用的什么许可证?
- node-postgres 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- node-postgres 还在维护吗?
- 活跃维护中。node-postgres 最近一次提交是在 2026年10月23日。
- node-postgres 适合用来做什么?
- 使用 Node.js 编写、需要连接 PostgreSQL 数据库的后端服务 运行在 Cloudflare 或 Deno 上、需要 Postgres 驱动的无服务器或边缘函数 依赖 LISTEN/NOTIFY 处理实时事件的应用 使用 COPY 进行批量数据导入的任务
- node-postgres 怎么安装和运行?
- 从 npm 安装 pg 包: npm install pg 阅读 node-postgres.com 上的文档,了解如何连接和执行查询
- 在哪里获取 node-postgres?
- 源代码和安装说明在 GitHub 上:https://github.com/brianc/node-postgres
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
纯 Java 实现的 PostgreSQL JDBC 驱动,让 Java 程序通过标准 JDBC 接口连接和操作 PostgreSQL 数据库。
纯 Rust 的异步 SQL 工具库,可在编译期校验直接书写的 SQL,支持 PostgreSQL、MySQL/MariaDB 和 SQLite。
一款 PostgreSQL 扩展,用于对时序和事件数据进行高性能实时分析。
用 Rust 开发 PostgreSQL 扩展的框架,提供从初始化、运行到测试与打包的完整工具链。
一款带自动补全和语法高亮的 Postgres 命令行客户端,可替代原生 psql。