Repolode
tursodatabase

tursodatabase/libsql

开源、欢迎社区贡献的 SQLite 分支,增加嵌入式副本、远程服务等扩展能力。

Star
17,280
Fork
547
未关闭 Issue
466
最近提交
5天前

这是什么?

libSQL 是由 Turso 维护的 SQLite 分支,保持 SQLite 的 API 与文件格式兼容,现有的 SQLite 数据库和代码可以直接使用。同时,它面向 SQLite 最初设计时未覆盖的场景做了扩展。

主要新增功能包括嵌入式副本(在应用内部保存一份可同步的数据库副本)和 libSQL server(以类似 PostgreSQL、MySQL 的方式提供远程 SQLite 访问)。核心部分还包含可修改列类型和约束的 ALTER TABLE 扩展、WebAssembly 自定义函数、随机化 ROWID,以及虚拟预写日志接口。

项目接受外部贡献,这是它与上游 SQLite 的主要区别。官方提供 TypeScript/JavaScript、Rust、Go 等语言的驱动,并附带兼容 SQLite 的命令行工具。项目说明中也提到,新功能目前主要在 Turso 的独立 Rust 重写版本中开发。

核心功能

  • 01嵌入式副本,可在应用内保存一份复制的数据库
  • 02libSQL server 提供远程 SQLite 访问
  • 03ALTER TABLE 扩展,支持修改列类型和约束
  • 04WebAssembly 自定义函数
  • 05官方提供 TypeScript/JavaScript、Rust、Go 驱动

适用场景

  • 需要通过网络远程访问的 SQLite 兼容存储
  • 在边缘或客户端应用中保留可同步的本地数据库副本
  • 在基于 SQLite 的应用中使用 WebAssembly 自定义函数

快速上手

  1. 1

    构建兼容 SQLite 的 C 库和工具

    cargo xtask build
  2. 2

    在 libsql-sqlite3 目录中启动 SQL 命令行

    cd libsql-sqlite3 && ./libsql

使用前须知

  • 继承了 SQLite 的单写入者模型,因此不支持并发写入。
  • README 建议新项目改用 Turso,因为新功能正在该项目中开发。

标签

常见问题

libsql 是什么?
开源、欢迎社区贡献的 SQLite 分支,增加嵌入式副本、远程服务等扩展能力。 libSQL 是由 Turso 维护的 SQLite 分支,保持 SQLite 的 API 与文件格式兼容,现有的 SQLite 数据库和代码可以直接使用。同时,它面向 SQLite 最初设计时未覆盖的场景做了扩展。
libsql 可以免费使用吗?用的什么许可证?
libsql 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
libsql 还在维护吗?
活跃维护中。libsql 最近一次提交是在 2026年10月17日。
libsql 适合用来做什么?
需要通过网络远程访问的 SQLite 兼容存储 在边缘或客户端应用中保留可同步的本地数据库副本 在基于 SQLite 的应用中使用 WebAssembly 自定义函数
libsql 怎么安装和运行?
构建兼容 SQLite 的 C 库和工具: cargo xtask build 在 libsql-sqlite3 目录中启动 SQL 命令行: cd libsql-sqlite3 && ./libsql
在哪里获取 libsql?
源代码和安装说明在 GitHub 上:https://github.com/tursodatabase/libsql

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目