DbSchema lets you design, manage, and document Xata databases. Create ER diagrams, define tables and columns, and generate SQL scripts - with or without a live database connection.
Use Git to share the design, compare it with the Xata database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.
Download DbSchema Download Xata JDBC Driver
Xata is a serverless data platform built on PostgreSQL that combines relational database capabilities with built-in full-text search, file attachments, and a branch-based development workflow. Every Xata database is organized into workspaces, databases, and branches, where each branch is an isolated PostgreSQL environment with its own schema state. Branching works similarly to git — you can fork a branch for a feature, apply schema changes, and merge back to the main branch without affecting other environments.
DbSchema connects to Xata via the standard PostgreSQL JDBC driver because Xata exposes a PostgreSQL-compatible wire protocol endpoint. Once connected, DbSchema reverse-engineers the branch's schema into a visual diagram. Tables created by Xata's search integration (which uses Elasticsearch under the hood but exposes them through SQL-like views) appear alongside your regular tables, giving you a complete picture of every queryable surface in your Xata branch.
Xata's PostgreSQL endpoint accepts standard SQL, including joins, aggregations, window functions, and CTEs.
DbSchema's SQL editor lets you write and execute queries against any Xata branch using the same interface
you would use with any other PostgreSQL database. Xata's built-in full-text search is exposed as a
xata_search function that can be called from SQL, so you can write search queries directly
in the editor and review ranked results in the results grid.
Because Xata auto-generates a unique endpoint URL per branch, you can save separate DbSchema connection profiles for your main, preview, and development branches and switch between them with a single click. This makes it easy to test SQL changes against a feature branch before those changes are merged and applied to the main branch's schema.
The DbSchema data explorer works with Xata the same way as any PostgreSQL database. You can browse table records row by row, filter by any column, and navigate foreign-key relationships to understand how your application data is linked. This is particularly useful during feature development on a Xata branch, where you need to confirm that your application is writing records with the correct structure before merging the branch.
Xata's file attachment feature stores file metadata in a dedicated JSON column alongside your table data. The explorer renders JSON column values as formatted text, letting you inspect attachment metadata — file name, MIME type, size, and storage URL — without writing custom queries. The CSV export feature lets you extract table snapshots from any branch for reporting or testing purposes.
Select PostgreSQL as the database type in DbSchema. Xata provides a direct PostgreSQL connection string for
each branch in the Xata dashboard under Settings → Connection strings. The URL format is a standard
PostgreSQL JDBC URL, for example:
jdbc:postgresql://us-east-1.sql.xata.sh/mydb:main?sslmode=require. The path segment encodes
the database name and branch name separated by a colon. SSL is required — always include
sslmode=require in the URL.
Authentication uses an API key generated from the Xata dashboard; use it as the password in the DbSchema
connection dialog with your Xata workspace email as the username (or as specified in the connection string
Xata provides). Each branch generates a distinct endpoint, so create one DbSchema connection profile per
branch if you work across multiple branches regularly. The PostgreSQL JDBC driver (org.postgresql.Driver)
is bundled with DbSchema, so no additional driver installation is needed.