Banco de dados SQL em processo, escrito em Rust e compatível com o dialeto, o formato de arquivo e a C API do SQLite, com um frontend experimental para Postgres.
tursodatabase/libsql
Um fork open source do SQLite com contribuições abertas, que adiciona réplicas embarcadas, modo de servidor remoto e extensões ao núcleo do SQLite.
- Estrelas
- 17,280
- Forks
- 547
- Issues abertas
- 466
- Último commit
- há 5 dias
O que é?
libSQL é um fork do SQLite mantido pela Turso. Ele preserva a API e o formato de arquivo do SQLite, permitindo usar bancos de dados e código SQLite existentes, mas adiciona recursos voltados a casos de uso para os quais o SQLite não foi originalmente projetado.
As principais adições são as réplicas embarcadas, que mantêm uma cópia replicada do banco de dados dentro de uma aplicação, e o libSQL server, que oferece acesso remoto ao SQLite de forma semelhante ao PostgreSQL ou ao MySQL. O núcleo também inclui uma extensão ALTER TABLE para alterar tipos de coluna e restrições, funções definidas pelo usuário em WebAssembly, ROWIDs aleatorizados e uma interface virtual de write-ahead log.
O projeto aceita contribuições externas, algo que os mantenedores apontam como sua principal diferença em relação ao SQLite upstream. Há drivers para TypeScript/JavaScript, Rust, Go e outras linguagens, além de um shell de linha de comando compatível com SQLite. O README observa que a reimplementação separada da Turso em Rust é onde novos recursos estão sendo desenvolvidos.
Recursos principais
- 01Réplicas embarcadas que mantêm uma cópia replicada do banco de dados dentro da sua aplicação
- 02libSQL server para acesso remoto ao SQLite
- 03Extensão ALTER TABLE para alterar tipos de coluna e restrições
- 04Funções definidas pelo usuário em WebAssembly
- 05Drivers oficiais para TypeScript/JavaScript, Rust e Go
Casos de uso
- Executar armazenamento compatível com SQLite com acesso remoto pela rede
- Manter uma cópia local e replicada do banco de dados dentro de uma aplicação de edge ou cliente
- Adicionar funções WebAssembly a aplicações baseadas em SQLite
Início rápido
- 1
Compile a biblioteca C compatível com SQLite e as ferramentas
cargo xtask build - 2
Inicie o shell SQL no diretório libsql-sqlite3
cd libsql-sqlite3 && ./libsql
Antes de usar
- Herdando o modelo de escritor único do SQLite, não oferece suporte a gravações simultâneas.
- O README recomenda usar o Turso em vez disso para novos projetos, já que os novos recursos estão sendo desenvolvidos lá.
Tópicos
Perguntas frequentes
- O que é libsql?
- Um fork open source do SQLite com contribuições abertas, que adiciona réplicas embarcadas, modo de servidor remoto e extensões ao núcleo do SQLite. libSQL é um fork do SQLite mantido pela Turso. Ele preserva a API e o formato de arquivo do SQLite, permitindo usar bancos de dados e código SQLite existentes, mas adiciona recursos voltados a casos de uso para os quais o SQLite não foi originalmente projetado.
- libsql é gratuito? Qual é a licença?
- libsql é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- libsql ainda é mantido?
- Manutenção ativa. O último commit de libsql foi em 17 de out. de 2026.
- Para que posso usar libsql?
- Executar armazenamento compatível com SQLite com acesso remoto pela rede Manter uma cópia local e replicada do banco de dados dentro de uma aplicação de edge ou cliente Adicionar funções WebAssembly a aplicações baseadas em SQLite
- Como instalar libsql?
- Compile a biblioteca C compatível com SQLite e as ferramentas: cargo xtask build Inicie o shell SQL no diretório libsql-sqlite3: cd libsql-sqlite3 && ./libsql
- Onde consigo libsql?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tursodatabase/libsql
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
ORM seguro e extensível e query builder para Rust, com verificação de consultas em tempo de compilação para PostgreSQL, MySQL, SQLite e MariaDB.
Banco de dados de grafos open source em Rust que armazena grafos, vetores e dados de texto completo juntos em object storage, com consultas por Rust, TypeScript, Go e Python.
Banco de dados multimodelo escrito em Rust que combina dados de documentos, grafos, relacionais, séries temporais e chave-valor, com consultas em tempo real e controle de acesso integrado.
Ferramenta visual gratuita e multiplataforma para criar, navegar, editar e consultar arquivos de banco de dados SQLite sem escrever SQL.
Banco de dados relacional distribuído, leve e tolerante a falhas, baseado em SQLite e replicado entre nós por consenso Raft.