GelArchived
A “graph-relational” database, called EdgeDB until 2025, that runs on Postgres but gives it a typed object schema, automatic migrations and its own query language, EdgeQL, which compiles each query to one SQL statement.
- What it is
- Relational databases
- Type
- Open source
- Made by
- Gel Data Inc. (formerly EdgeDB Inc.)
- License
- Apache 2.0
- Status
- Archived since 2 December 2025
- Facts checked
- 24 October 2026
What it is
Gel is a server that sits in front of Postgres and owns it: it uses Postgres for storage and query execution, either a cluster it starts itself or an existing one named in GEL_SERVER_BACKEND_DSN. You describe data as object types in .gel files in a dbschema directory. Each object gets an immutable UUID, scalar fields are properties, and references to other objects are links, with required and multi setting cardinality, so there are no foreign keys or join tables to declare and no NULL: a missing value is an empty set. To change the schema you edit the files and run gel migration create; the server itself compares the new schema with the current one, asks you to confirm each change and writes a migration file that gel migrate applies, or gel watch --migrate applies changes as you save.
Queries are written in EdgeQL, where a query returns a nested shape of objects and their links, filtered and ordered, and every query compiles into a single SQL query instead of the many an ORM would send. Clients talk to it over its own binary protocol, with official libraries for TypeScript, Python, Go and Rust, or over HTTP and GraphQL; since Gel 6.0 in February 2025 it also accepts SQL, including inserts, updates and deletes through the Postgres wire protocol, and works with Drizzle. Built-in extensions add authentication (ext::auth, with email and password, OAuth, magic links and WebAuthn), embeddings from OpenAI, Mistral or Anthropic (ext::ai), and PostGIS; Gel 7.0 in November 2025 added role-based access control. That was the last major release: the company closed in December 2025, and the managed Gel Cloud shut down at the end of January 2026.
Why teams pick it
- A typed schema with links and cardinality, and migrations generated by the database by comparing schemas, so schema changes are reviewed instead of hand-written
- EdgeQL fetches deeply nested data without joins and always runs as one SQL query, avoiding the N+1 queries common with ORMs
- It is still Postgres underneath, with SQL access since 6.0, so data can be reached by Postgres tools and migrated out
- Authentication, access policies and embeddings built into the server, and
npx gel initsets up a local instance in one step
Watch out for
- No longer maintained: the company has shut down, there is no managed service, and fixes and security updates have stopped
- EdgeQL and the link-based model were, in the founders’ own words, unproven ideas that made Gel harder to learn
- Another server between the application and Postgres, with its own protocol and query compiler, to run and size yourself
- SQL access is partial: as of 6.0, window functions and recursive queries were not supported through the Postgres protocol
Alternatives, recommended first
What all relational databases have in common →Compare side by side →
CedarDBCommercialA PostgreSQL-compatible database rebuilt from scratch at TU Munich, running transactions and analytics on one copy of the data on a single server.
CloudNativePGOpen sourceA Kubernetes operator that runs highly available PostgreSQL with no Patroni and no StatefulSets: the Kubernetes API itself holds the cluster’s state.
DoltOpen sourceA MySQL-compatible SQL database with Git’s model built in: every table can be branched, diffed, merged, pushed and pulled, and every commit keeps the whole database as it was.HerdDBDormantOpen sourceA SQL database in Java that runs inside an application’s JVM or as a replicated cluster, with Apache BookKeeper as its write-ahead log and ZooKeeper for metadata.
PatroniOpen sourceA Python agent beside each Postgres server that elects one primary through etcd, Consul, ZooKeeper or Kubernetes, and fails over when it dies.
Percona OperatorsOpen sourceFour free Kubernetes operators from Percona that run its builds of MySQL, PostgreSQL and MongoDB, each using the engine’s own replication and backup tools.
PGO (Crunchy Postgres for Kubernetes)Open sourceCrunchy Data’s Postgres operator: Patroni in every pod for failover, pgBackRest for backups, and a declarative PostgresCluster resource on top.
ScramDBCommercialA brand-new, closed-source database that speaks the PostgreSQL protocol and promises transactions, analytics and vector search on one copy of the data; first builds shipped in summer 2026.How it fits with other technologies
A schema in dbschema/default.gel, and EdgeQL that inserts and reads nested objects · text
# dbschema/default.gel
type Person {
required name: str;
}
type Movie {
required title: str;
release_year: int64;
multi writers: Person;
}
# EdgeQL: link to existing objects without join tables
insert Movie {
title := 'Dune',
release_year := 2021,
writers := (select Person filter .name = 'Frank Herbert')
};
# a nested result in one round trip, compiled to one SQL query
select Movie { title, writers: { name } }
filter .release_year > 2000
order by .title;See it in a real stack
No architecture uses Gel yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2008–2026
Yury Selivanov and Elvis Pranskevichus started MagicStack, a software consultancy, in 2008. For their own projects they built Caos, a “super ORM” with its own query language that was checked against a schema and compiled to SQL. By 2014 they concluded it could be a new kind of database, but only if it stopped being an ORM. Along the way they wrote PEP 492, which added async/await to Python, and released uvloop and the asyncpg Postgres driver.
A technical preview of EdgeDB was shown at PyCon in 2018, the first alpha came in April 2019, and EdgeDB Inc. was incorporated late that year. EdgeDB 1.0 shipped on 10 February 2022, after a long list of pre-releases, as “the first open source, graph-relational database”. In February 2025 the company renamed itself Gel, because “edge” suggested an edge-computing or graph database, and released Gel 6.0 with full SQL support.
On 2 December 2025 Gel Data Inc. announced it was shutting down and its team was joining Vercel to work on Python there. Gel Cloud closed on 31 January 2026. In their farewell the founders counted declarative schemas and the stateless protocol as good ideas, EdgeQL and the link model as unproven, and building on Postgres, which made Gel hard to tell apart from an ORM, as a questionable choice.
Why it’s built this way
- Build on Postgres instead of a new storage engine
- Postgres already had reliable storage, transactions and a query executor. The founders treated it as a foundation for a better database abstraction, and argued Gel was not an ORM because it had its own query language, type system, protocol and clients.
- A new query language, EdgeQL
- They wanted a formally defined language that “matches SQL in power and surpasses it in clarity and brevity”, composable without Cartesian explosions and able to return nested data in one query.
- Objects and links instead of tables and foreign keys
- Giving every object an identity and making relationships first-class removed primary keys, foreign keys and join tables from the schema, and let the database generate migrations by comparing schemas.
Timeline
- 2008
Yury Selivanov and Elvis Pranskevichus start MagicStack
- 2018
EdgeDB technical preview shown at PyCon
- 2019
First alpha in April; EdgeDB Inc. incorporated late in the year
- 2022
EdgeDB 1.0 ships in February
- 2025
Renamed Gel with 6.0 in February; 7.0 in November; the company shuts down in December and the team joins Vercel
- 2026
Gel Cloud closes on 31 January
Sources15 · facts checked 24 October 2026
- Gel blog: Gel joins Vercel (shutdown, Gel Cloud closing 31 January 2026)
- geldata/gel on GitHub (Apache 2.0; commit history)
- geldata/gel on GitHub: releases (7.0, November 2025)
- Gel docs: Overview
- Gel docs: Schema
- Gel docs: Migrations
- Gel docs: EdgeQL
- Gel docs: Environment variables (GEL_SERVER_BACKEND_DSN)
- Gel docs: Auth
- Gel docs: AI
- Gel docs: 6.x changelog (SQL DML, PostGIS, unsupported SQL features)
- Gel docs: 7.x changelog (RBAC)
- Gel blog: The graph-relational database, defined (identity, links, no NULL)
- Gel blog: EdgeDB is now Gel (6.0, SQL support, Drizzle)
- DBDB.io: Gel (EdgeQL compiles into one SQL query; Postgres backend)