Repolode
brianc

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. 1

    从 npm 安装 pg 包

    npm install pg
  2. 2

    阅读 node-postgres.com 上的文档,了解如何连接和执行查询

收录于专题

标签

#postgresql#nodejs#database-driver#connection-pool#sql#javascript#libpq#node-postgres#postgres#postgresql-driver

常见问题

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 数据每日更新。

相关项目