doltgres
a PostgreSQL-wire database you can branch, commit, diff, merge, and time-travel like Git — “Git for your data.” Briven is Doltgres-first: it powers both the platform control database and every project database (not only “the data plane”).
what it is, in plain words
Think of a normal database as a single live document that only ever shows you the latest version. DoltGres is the same database, but with a full history attached — like Git for code, except the thing under version control is your data. You can take a snapshot (a commit), spin off a separate copy to experiment on (a branch), compare two versions side by side (a diff), fold changes back together (a merge), and ask “what did this table look like last Tuesday?” (time travel). Underneath, it is a real PostgreSQL database — your app talks to it the same way it talks to any Postgres.
Dolt is not DoltGres
This is the single most common point of confusion, so it is worth being crisp. There are two products from the same team, built on the same versioned storage engine, but they speak different languages:
| Dolt | DoltGres | |
|---|---|---|
| dialect | MySQL | PostgreSQL |
| default port | 3306 | 5432 |
| client | mysql | psql |
| how you commit | CALL DOLT_COMMIT(...) | SELECT dolt_commit(...) |
The headline difference: in DoltGres, every version-control operation is a function you call with SELECT, never CALL — for example SELECT dolt_commit('-am', 'my message');. PostgreSQL allows side effects inside a SELECT (the same way nextval() works), so DoltGres leans on that. Any DoltGres example you write or copy should use the SELECT dolt_* form on port 5432 with psql. If you see a CALL or port 3306, that is MySQL Dolt, not DoltGres.
the superpowers
version control
branch, commit, diff, and merge your data with SELECT dolt_branch / dolt_commit / dolt_merge
history + time travel
query any past commit or timestamp with AS OF, and read the commit log from the dolt schema
types + sql support
which PostgreSQL types and SQL features work today, which are partial, and which are not in yet
beta + limitations
the honest list — what is pre-1.0, what is slow, and what PostgreSQL features are still missing
install + run
install the engine, start the server on port 5432, and connect with psql (self-host / local)