DuckDB-Wasm 借 OPFS 实现浏览器持久化,含版本踩坑指南
JeremyCMorgan · x · 2026-09-26
DuckDB 官方博客介绍如何用浏览器 OPFS(Origin Private File System) 让 DuckDB-Wasm 拥有真正的持久化数据库文件:
- 背景:2021 年 DuckDB-Wasm 发布时无法持久化,只能把表序列化成 Parquet 存进 IndexedDB,下次加载再注册,且需应用层自行处理
- 新做法:2023 年 3 月起现代浏览器内置 OPFS(按源隔离、支持随机读写)。打开 opfs://analytics.duckdb 路径的数据库即可在页面刷新和浏览器重启后存活,生成带 WAL 和 checkpoint 的常规 .duckdb 文件
- 关键坑:当前 npm 上的 latest 版本(1.33.1-dev57.0)会创建 OPFS 文件但从不写入——路径被规范化成单斜杠的 opfs:/analytics.duckdb,与 OPFS 句柄不匹配。应锁定 1.32.0 或使用 1.33.1-dev64.0 及以上
- 文章还细致说明了数据何时真正落盘(WAL 与 checkpoint 机制)
「编程与Agent」频道最新
- 开源 Grok 客户端 Lorca 发布:Mac 原生 App 加 iOS 配对,智能体跑在电脑上 — dotey · 2026-09-26
- 从库和脚手架到技能与 lint 规则:AI 时代的封装物在变 — fernandorojo · 2026-09-26
- ComfyUI 时间线插件实测:MiniMax H3 视频无缝续接生成 — smereces · 2026-09-26
- 让 Agent 操作已登录浏览器前,作者定下四道安全门槛 — Own-Equipment-5454 · 2026-09-26
- GCC 禁 AI 代码贡献,LLVM 允许但要求开发者必须理解代码 — lemire · 2026-09-26
- 驱动已登录 Chrome 的 MCP 服务器 OnBridge,三个工具设计取舍 — Own-Equipment-5454 · 2026-09-26