PGlite 轻量级的嵌入式PostgreSQL数据库

PGlite 是一个轻量级的嵌入式 PostgreSQL 数据库,实现了基于 WebAssembly (WASM) 的 PostgreSQL 环境,允许开发者在浏览器、Node.js 和其他 JavaScript 运行环境中运行完整的 PostgreSQL 数据库,而无需完整的服务器安装​。

PGlite 的主要特性和用法

轻量化和高效:PGlite 的压缩体积仅约 3MB,可作为会话内的临时内存数据库,支持浏览器中使用 indexedDB 进行数据持久化,也支持在 Node.js 中使用文件系统保存数据​。

多环境支持:PGlite 可以在多种 JavaScript 运行时环境中使用,适合在网页或移动应用中构建“本地优先”的数据库功能,不依赖网络连接便可运行。

实时反应和数据同步:PGlite 集成了实时查询(Live Query)功能,适合需要实时更新的应用场景​。

PGlite Github地址:https://github.com/electric-sql/pglite

PGlite 轻量级的嵌入式PostgreSQL数据库

PGlite 使用示例

要在浏览器中启动 PGlite,可以先安装或导入库:

import { PGlite } from "@electric-sql/pglite";

// 创建数据库实例
const db = new PGlite();
await db.query("SELECT 'Hello World' AS message;");
// -> 返回 { rows: [ { message: "Hello World" } ] }

如果需要将数据库持久化,可以指定 indexedDB 路径:

const db = new PGlite("idb://my-pgdata");

PGlite 还提供了交互式的 REPL 组件,支持在页面中嵌入一个命令行界面,方便在浏览器环境中进行测试和调试。

评论