Skip to Content
We are live but in Staging 🎉
Data EnginesSQLOverview

SQL

What it is

A bucket’s tables are one transactional store that also answers analytical queries. You write ordinary SQL over the Postgres wire; the plane decides how to store and serve it. There is no engine to provision, no capability to switch on and no schema registry: create the bucket, connect, run CREATE TABLE.

psql · psycopg · Prisma · SQLAlchemy · GORM · SQLx · node-postgres │ ▼ pg.uk-lon-1.dodil.io:5432 dbname = <bucket> ┌───────────────────┐ │ tables gateway │ auth, TLS, per-bucket isolation └─────────┬─────────┘ ▼ ┌───────────────────┐ │ your bucket │ Delta Lake tables │ s3://<bucket>/ │ (also readable by any Delta tool) └───────────────────┘

It is a system of record. OLTP workloads such as a double-entry ledger run directly on it, with the same isolation contract you would build against Postgres: snapshot reads, SELECT … FOR UPDATE guards, serialization failures you retry. It is also a warehouse: GROUP BY, window functions, joins and CTEs run over the same rows with no copy and no sync.

Who it is for

  • Application developers who want Postgres semantics without running Postgres. Your ORM’s migrations and CRUD work; the compatibility pages list the exact differences.
  • Teams that ingest documents and want structured rows to appear automatically. A table can be bound to a pipeline template so that rows materialize as files land in the bucket — see Pipelines.
  • Analysts and data engineers who want the rows in an open format. Every table is a real Delta Lake table in your bucket; external Delta readers can scan it.

Start here

Pick the question you have:

QuestionPage
How do I connect and run my first statements?Quickstart · Connect
Is NUMERIC exact? What does INTEGER become? Is VARCHAR(n) enforced?Data types
Which statements work, which are refused, which are accepted with a notice?Statements
Which constraints are actually enforced?Constraints
What happens when two transactions touch the same row? What does FOR UPDATE guarantee?Transactions & concurrency
Is ADD COLUMN online? How do indexes work?Schema changes
Which SQLSTATE do I retry?Errors & SQLSTATEs
What does information_schema report?Catalog
What is different from Postgres, today?Limits & differences
I have an existing Postgres app. What breaks?Migrating from Postgres
How does it actually store and serve data?How it works
I am not on the Postgres wire.gRPC & HTTP API · CLI
Show me a complete example.Recipes — a ledger, idempotent writes, a pipeline-bound table