mirror of
https://github.com/chaisql/chai.git
synced 2025-09-26 19:51:21 +08:00
update README
This commit is contained in:
42
README.md
42
README.md
@@ -1,28 +1,40 @@
|
|||||||
# ChaiSQL
|
# ChaiSQL
|
||||||
|
|
||||||
ChaiSQL is a modern, embedded SQL database with a PostgreSQL-compatible API, written in pure Go.
|
ChaiSQL is a modern embedded SQL database, written in pure Go, with a PostgreSQL-inspired API.
|
||||||
It’s designed for developers who want the power of SQL with the simplicity of an embedded database.
|
It’s designed for developers who want the familiarity of Postgres with the simplicity of an embedded database.
|
||||||
|
|
||||||
[](https://github.com/chaisql/chai/actions/workflows/go.yml)
|
[](https://github.com/chaisql/chai/actions/workflows/go.yml)
|
||||||
[](https://pkg.go.dev/github.com/chaisql/chai)
|
[](https://pkg.go.dev/github.com/chaisql/chai)
|
||||||

|

|
||||||
|
|
||||||
## Key Features
|
## ✨ Highlights
|
||||||
|
|
||||||
- **PostgreSQL API Compatibility** – Run familiar SQL queries with minimal changes.
|
- **Postgres-like SQL** – the syntax you already know, embedded in your Go app.
|
||||||
- **Pure Go Implementation** – No CGO or external dependencies.
|
- **Pure Go** – no CGO or external dependencies.
|
||||||
- **Flexible Storage** – Choose between on-disk or in-memory modes.
|
- **Flexible Storage** – keep data on disk or run fully in-memory.
|
||||||
- **Backed by [Pebble](https://github.com/cockroachdb/pebble)** – Rock-solid storage engine from CockroachDB.
|
- **Built on Pebble** – powered by [CockroachDB’s Pebble engine](https://github.com/cockroachdb/pebble).
|
||||||
|
|
||||||
## Roadmap
|
## 🔎 Current Capabilities
|
||||||
|
|
||||||
ChaiSQL is still in active development and not production-ready. Planned features:
|
ChaiSQL already supports a useful core of SQL features, including:
|
||||||
|
|
||||||
- [ ] Stable storage format – finalize and stabilize (90% complete)
|
- Creating and dropping tables & indexes (with composite indexes)
|
||||||
- [ ] SQL-92 coverage – implement core + advanced features (detailed roadmap soon)
|
- Inserting, updating, deleting rows
|
||||||
- [ ] Language clients – official drivers for JS/TS, Python, etc.
|
- Basic SELECT queries with filtering, ordering, grouping
|
||||||
- [ ] Backend flexibility – RocksDB support alongside Pebble
|
- DISTINCT, UNION / UNION ALL
|
||||||
- [ ] ORM & driver compatibility – seamless use with PostgreSQL ecosystem
|
|
||||||
|
👉 Joins and many advanced features are not implemented yet.
|
||||||
|
The goal is steady growth toward broader PostgreSQL compatibility, but today ChaiSQL is best suited for _simpler schemas and embedded use cases_.
|
||||||
|
|
||||||
|
## 🗺 Roadmap
|
||||||
|
|
||||||
|
ChaiSQL is still in active development and not production-ready. Planned milestones include:
|
||||||
|
|
||||||
|
- [ ] Finalize stable on-disk storage format (90% complete)
|
||||||
|
- [ ] Broader SQL-92 coverage
|
||||||
|
- [ ] Drivers for other languages (JS/TS, Python, …)
|
||||||
|
- [ ] RocksDB backend support
|
||||||
|
- [ ] Compatibility with PostgreSQL drivers/ORMs
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -151,4 +163,4 @@ Not yet. We’re actively building out SQL support and stability.
|
|||||||
|
|
||||||
### Can I use existing Postgres tools?
|
### Can I use existing Postgres tools?
|
||||||
|
|
||||||
Yes, ChaiSQL aims to be compatible with PostgreSQL drivers and ORMs.
|
Not yet. ChaiSQL is PostgreSQL-API _inspired_, but it does not speak the Postgres wire protocol and is not compatible with psql, pg_dump, or drivers that expect a Postgres server.
|
||||||
|
Reference in New Issue
Block a user