Connect to Supabase

Checked against plainDB 2.1.10 and Supabase's Connecting to Postgres guide on September 18, 2026.

You need the project's database password and about one minute in the Supabase dashboard. You do not need the anon key, the service role key, or the IPv4 add-on.

  1. Copy the connection string from Supabase

    Open your project, press Connect at the top of the dashboard, and choose the Session pooler string. It looks like this:

    postgresql://postgres.[PROJECT-REF]:[YOUR-PASSWORD]@[POOLER-HOST]:5432/postgres

    Choose Direct connection instead only if you know your network has IPv6 or the project has the IPv4 add-on. Direct strings use db.[PROJECT-REF].supabase.co:5432 and the user postgres.

  2. Paste it into a new PostgreSQL connection

    In plainDB, add a connection and choose PostgreSQL. On Windows press Paste connection string; on macOS paste into the field at the top of the sheet. The app recognises the Supabase host, switches on Supabase project, and fills Project ref, Connect via and Region. The [YOUR-PASSWORD] placeholder is discarded rather than saved as a password.

    Copy the complete dashboard string rather than reconstructing the pooler hostname from a region. Supabase assigns the exact endpoint; the hostname is not reliably derived from the region alone. Keep its host, port and username together.

    The preset fills the connection fields and defaults to session pooling. If you change modes, return to the dashboard and paste the string for that mode so you keep the current endpoint.

  3. Enter the database password

    This is the password you set when the project was created. If you have lost it, reset it under Project Settings, Database. The Mac app stores it in macOS Keychain. Windows protects it with DPAPI for the current user and stores the protected value locally.

  4. Leave SSL on

    The preset sets SSL mode to require, so the driver refuses to connect without encryption. If you want the server's certificate verified as well, download the CA certificate from Database settings in the Supabase dashboard, set SSL mode to verify-full, and choose the file as the SSL root cert.

  5. Connect

    Press Connect. The sidebar fills with the schemas and tables of your project, as permitted by your database role. Browse and filter as with any PostgreSQL database. Staged grid edits show their generated SQL before applying; manually entered SQL uses the query editor’s Run controls.

If it does not connect

What you seeWhat it meansWhat to do
A network error on a direct connection, and a note about IPv6The direct endpoint may be unreachable from your network; IPv4-only access is one possible cause.Paste the session pooler string from the dashboard; also check project status and network restrictions.
Tenant or user not foundThe pooler could not match the endpoint and username to your project.Paste the complete dashboard string again so the host and username match.
Password authentication failedThe server rejected the credentials; check the username, password and any remaining placeholder.Verify the copied connection and password; reset the database password only if needed.
Prepared statement errors after connectingA transaction-pooler connection does not support prepared statements.If using transaction pooling, paste the session pooler string instead.

What this connection is not

plainDB talks to the Postgres database inside your project. It does not use the REST API, so anon and service keys are never needed, and it does not manage Auth, Storage, Realtime or Edge Functions. The Supabase page has the full list.