apps/docs/content/troubleshooting/manually-created-databases-are-not-visible-in-the-supabase-dashboard-4415aa.mdx
If you've manually created an additional database within your Supabase project, such as example_database, you might observe that it's accessible via external database tools but is not visible in the Supabase Dashboard. This guide explains the underlying reasons for this behavior and how Supabase is designed to handle databases.
Before diving into the problem, let's define some key terms:
The core of this behavior stems from the distinction between how Postgres manages databases and how Supabase integrates with them.
Postgres's Flexibility: As a standard Postgres cluster, your Supabase backend is inherently capable of hosting multiple databases. You can connect to your project and manually create additional databases, such as example_database or another_database, alongside the default postgres database. These manually created databases are fully functional Postgres databases, accessible via external tools like TablePlus, psql, or any other Postgres client, provided you use the correct connection parameters (e.g., user=postgres.[your_project_slug] host=... port=... dbname=example_database).
Supabase's Integrated Design: While Postgres itself supports multiple databases per cluster, the Supabase platform, its Dashboard, and most of its integrated features (such as PostgREST for APIs, Supabase Auth, and Supabase Storage) are specifically engineered to operate exclusively with the project's default postgres database.
The Disconnect Explained:
postgres database within your project. Manually created databases (like example_database) will therefore not appear in the Dashboard's interface, as it's not configured to interact with them.postgres database. For example, the API layer powered by PostgREST is designed to expose schemas from the postgres database, not to manage or expose multiple separate databases. This architectural choice simplifies the platform's design, ensures consistent behavior, and allows Supabase to layer its features effectively on top of the postgres database. Supporting multiple databases for all integrated services would introduce significant complexity and fundamentally alter Supabase's current model.To effectively utilize Supabase and its features, consider the following approaches:
For Supabase Feature Integration: If you intend for your data to be managed via the Supabase Dashboard, accessed through auto-generated APIs (PostgREST), or integrated with Supabase's Authentication or Storage services, all your data and schemas must reside within the project's default postgres database. This is the designated database for full Supabase ecosystem compatibility.
When a Truly Separate, Integrated Database is Needed: If your application architecture requires a logically separate database that also benefits from full Supabase feature integration (Dashboard visibility, APIs, Auth, etc.), the recommended approach is to create a new Supabase project. Each new project you create will come with its own dedicated Postgres cluster and its own default postgres database, fully integrated with all Supabase services. This ensures that each "database" managed by Supabase has its own isolated environment and complete feature support.
Using Manually Created Databases (with caveats): Creating additional databases within a single Supabase project's Postgres cluster (e.g., example_database) is technically possible and accessible via external tools. However, this approach is generally suitable only if: