graphql
graphql
Excalibase GraphQL
Point it at your database. Get a full GraphQL API. Zero code.
Excalibase GraphQL introspects your database schema at startup and generates a complete GraphQL API — queries, mutations, subscriptions, relationships, filtering, pagination, and more. No schema files to write, no resolvers to maintain, no code generation step.
How it works
- Introspect — on startup, queries
information_schemafor tables, columns, types, and foreign keys - Generate — builds a full
GraphQLSchemawith types, filters, mutations, and subscriptions for every table - Serve — exposes the schema at
/graphql(HTTP + WebSocket for subscriptions)
Schema changes are automatically picked up via DDL events from excalibase-watcher — no restart needed.
What you get
For every table in your database, Excalibase generates:
- Queries — list with filtering, sorting, pagination; cursor-based
Connectionfor infinite scroll - Mutations —
create,update,delete,createMany(bulk insert) - Relationships — foreign keys become nested fields automatically (no JOIN to write)
- Subscriptions — live INSERT/UPDATE/DELETE events via WebSocket (powered by excalibase-watcher + NATS)
- Stored procedures — callable as GraphQL mutations
- Computed fields — PostgreSQL functions exposed as fields
- Row-Level Security — per-request user context passes into PG session variables
Supported Databases
| Database | Status | Notes |
|---|---|---|
| PostgreSQL | ✅ Supported | Full feature set — PG 15+ |
| MySQL | ✅ Supported | CRUD, ENUM/JSON, views, stored procedures — MySQL 8.4+ |
| MongoDB | 🔄 Planned | Coming soon |
Native Binary
Ships as a GraalVM native binary — fast startup, low memory:
docker pull excalibase/excalibase-graphql:native
Startup time is under 100ms. Memory footprint around 80MB at idle.