DbSchema lets you design, manage, and document Supabase 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 Supabase database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.
Download DbSchema Download Supabase JDBC Driver
Supabase is an open-source Firebase alternative built entirely on top of PostgreSQL. It layers a rich set of services — PostgREST for automatic REST API generation, Realtime for WebSocket-based change subscriptions, Auth for user management, Storage for file uploads, and Edge Functions for server-side logic — all driven by the same underlying PostgreSQL database. Row Level Security (RLS) policies define which rows each authenticated user can read or modify, turning access control into a first-class database concern.
DbSchema connects to the Supabase PostgreSQL instance directly and reverse-engineers the full schema, including
tables in the public schema, PostgREST views, RLS policy definitions visible via
pg_policies, and all foreign key relationships. The visual diagram gives your team a single-pane
view of the data model that PostgREST exposes as a REST API, making it straightforward to reason about the
relationship between your tables and the API endpoints your frontend consumes.
Supabase is standard PostgreSQL under the hood, so every PostgreSQL SQL feature is available — triggers, stored
procedures, DO blocks, CTEs, window functions, and more. DbSchema's SQL editor connects via the
standard PostgreSQL JDBC driver and gives you a full-featured query environment. You can run EXPLAIN
ANALYZE to profile slow queries, test RLS policies by temporarily setting
SET ROLE authenticated, or script bulk data migrations using DO $$...$$ anonymous
blocks.
The editor supports multiple simultaneous query tabs, which is useful when you need to cross-reference data from several related tables or compare query plans before and after adding an index. Results can be exported directly to CSV for reporting or handed off to your data team for further analysis.
Supabase supports the pgvector extension for storing and querying machine learning embeddings,
making it a popular backend for AI-powered features. DbSchema's data explorer renders vector column
values so you can spot-check that embedding rows are populated correctly. You can filter the table by any other
column to retrieve a specific record and inspect its embedding alongside its metadata, which is useful for
debugging nearest-neighbour search mismatches.
The explorer also makes it easy to navigate the auth.users, storage.objects, and other
Supabase system schemas that sit alongside the public schema. This is helpful when investigating
permission issues or understanding the relationship between user IDs in auth.users and rows protected
by RLS policies in your application tables.
Supabase exposes a standard PostgreSQL connection. Select PostgreSQL as the database type in DbSchema and use the
connection string from the Supabase dashboard under Settings → Database. The JDBC URL format is:
jdbc:postgresql://db.xxxxx.supabase.co:5432/postgres?sslmode=require. The project reference
(xxxxx) is unique to your Supabase project. SSL is enforced and the sslmode=require
parameter must be present.
For applications or tools that open many short-lived connections, Supabase also provides a connection pooler
(PgBouncer) endpoint whose hostname contains pooler.supabase.com. Use the pooler URL in DbSchema
if you are on a free-tier project with a limited connection count, or if you notice connection timeouts during
intensive query sessions. The database password is the one set in the Supabase dashboard; it is separate from
any API keys used by the PostgREST layer.