SuperAPI AI 工具集

pglite

数据与分析

查看项目

更新于 10-16 07:24

技能介绍

用途:PGlite 是 PostgreSQL 17.4 的轻量 WASM 版本,可在浏览器、Node.js 和 Bun 中运行,无需外部依赖,提供完整 Postgres 查询引擎,gzip 后小于 3MB。适合本地优先应用、浏览器内分析、离线 PWA、测试用嵌入式 Postgres 及无服务器原型。不适合高并发服务端负载、需要完整 Postgres 复制的应用、Safari 的 OPFS 存储,以及无 leader election 的多标签页写入场景。

主要能力:支持内存、IndexedDB(idb://)和 OPFS(opfs-ahp://,仅 Worker、不支持 Safari)存储;参数化查询 db.query、标签模板 db.sql、多语句 db.exec、事务 db.transaction;扩展需在 PGlite.create({ extensions }) 中声明,如 pgvector、pg_trgm、pgcrypto、全文搜索;支持 live.query、live.incrementalQuery、live.changes 及 React 的 useLiveQuery;支持 PGliteWorker 多标签页 leader election、Electric 单向只读同步、dumpDataDir/loadDataDir 导入导出、listen/notify 和 relaxedDurability。

使用方式:用 PGlite.create() 创建实例(内部等待就绪),避免直接 new PGlite();OPFS 需在 Web Worker 中使用;事务内使用回调传入的 tx.query;增量查询需提供唯一键列;扩展为 WASM,需打包器处理 .wasm 资源。

限制:Electric 同步为只读单向;Safari 不支持 OPFS;多标签页写入需 leader election;高并发服务端场景应使用原生 Postgres。相关 Electric、Drizzle、local-first 技能可分别通过 pnpm dlx skills add oakoss/agent-skills -s electricsql -a claude-code -y 等命令添加。