Build with KalamDB
KalamDB is a self-hosted backend in one Rust binary. Use familiar PostgreSQL SQL and client tools, then add live queries, per-user data isolation, JavaScript/TypeScript server functions, and durable topics without assembling separate services.
KalamDB has its own SQL engine. PostgreSQL wire compatibility does not mean it is a drop-in replacement for every PostgreSQL feature or extension. Check compatibility first.
Your first working result on 0.8
Recommended: start the released server with Docker, then use the built-in SQL Studio. The guided tutorial creates a private table and shows a live query changing when you update a row.
Or start the server now:
The tutorial shows the initial local-only authentication setup. Do not expose demo credentials or the setup endpoint on an untrusted network.
Using the CLI? The released 0.8.0 TypeScript scaffold templates still specify older 0.7-beta SDK dependencies. Treat generated app templates as requiring compatibility fixes before running them against a 0.8 server. See CLI starter status and TypeScript SDK installation.
Why build with KalamDB?
| You need to… | KalamDB feature | Learn |
|---|---|---|
| Store each user’s private state without repeating filters | USER tables and authenticated scopes | Table types |
| Show updates as data changes | SQL subscriptions and materialized live rows | Live queries |
| Run backend logic next to the data | JavaScript/TypeScript functions and SQL procedures | Server functions |
| Process background work reliably | Topics, consumers, acknowledgements and retries | Topics |
| Use familiar database tools | PostgreSQL wire listener and supported SQL syntax | Connect with PostgreSQL |
| Grow storage and availability | RocksDB, Parquet and Raft replication | Storage tiers |
I want to…
Connect a TypeScript, Rust or Dart app →
Create shared tables with RLS →
Know the boundaries before adopting
KalamDB 0.8 does not support every PostgreSQL operation: for example, wire COPY is unavailable, some declared constraints are not enforced, and transactions across Raft groups are not atomic. Live subscriptions support a smaller SQL query shape than ordinary SQL.
Start with the 0.8 feature and compatibility guide, transaction limits, and live-query SQL limits.
Next: Run your first live query → · See how the pieces fit together →