Supabase database client for Mac and Windows

Every Supabase project is a PostgreSQL database. plainDB connects to that database with the connection details Supabase already gives you, so you can browse tables, filter records, review staged grid edits and write SQL in a desktop workspace.

Choose the right connection for desktop work

These are the connection types Supabase publishes. Start with the session pooler for desktop browsing. Paste the exact connection string from your dashboard to keep the host, port and username together.

ModeHostPortUserWhen to use it
Directdb.<project-ref>.supabase.co5432postgresNetworks with IPv6, or projects with the IPv4 add-on.
Session pooler default<pooler-host-from-dashboard>5432postgres.<project-ref>IPv4-only networks. Behaves like a normal Postgres session, so it is the right choice for a desktop client.
Transaction pooler<pooler-host-from-dashboard>6543postgres.<project-ref>Serverless apps. No prepared statements and no session state between transactions, so it is not the default choice for a desktop session.
Endpoint types and default ports from Supabase’s connection guide, checked September 18, 2026. Copy the exact pooler hostname from your dashboard; it cannot reliably be constructed from the region.

When a direct endpoint is unreachable

Supabase's direct connections are on IPv6. The IPv4 add-on is not dual-stack: enabling it swaps the project's IPv6 DNS record for an IPv4 one. If your network is IPv4-only and the project has no add-on, Supabase's own advice is to use session mode instead.

A failed connection does not identify the cause by itself. Check project status, endpoint details and network restrictions as well as IPv4/IPv6 reachability. The session pooler is a practical starting point for a desktop client on an IPv4 network.

The connection editor with Supabase project switched on: project ref, a Connect via menu showing the session pooler, a region field, and the host, port and user filled in and greyed out. A note under the fields explains that Direct needs IPv6.
The Mac connection editor with example Supabase settings. This is a configuration demonstration, not a connection to a live project. Copy your own endpoint from the Supabase dashboard.

What it does, and what it deliberately does not

Connecting to your project's Postgres

  • Paste the dashboard's connection string; the app recognises Supabase hosts, sets the mode and region, and drops the [YOUR-PASSWORD] placeholder
  • Keep the exact pooler endpoint from the dashboard instead of assembling a hostname by hand
  • The preset selects require; add the CA certificate from your Database settings for verify-full
  • Browse tables, filter rows, review staged grid edits, run SQL and export results with the permissions of your database role

Not part of this app

  • Supabase Auth: users, providers, sessions
  • Storage buckets and files
  • Realtime channels, Edge Functions, the REST and GraphQL APIs
  • Anon and service keys. They are API credentials, not database logins, and the app never asks for them

Supabase specifics

Which mode should I pick?

Session pooler, unless you know your network has IPv6 or your project has the IPv4 add-on, in which case direct works too. Leave the transaction pooler to applications.

Do I need the IPv4 add-on to use plainDB?

No. The session pooler is reachable over IPv4 without it.

Where does the region come from?

It is in the pooler host your dashboard shows, for example aws-0-ap-south-1.pooler.supabase.com. Paste the whole string to retain the exact endpoint. A region name alone is not enough to reconstruct the pooler hostname.

Which password?

The database password you set when creating the project, or reset under Project Settings, Database. Not the anon key, not the service role key, not your Supabase account password.

The connection says "Tenant or user not found".

The pooler could not match the user to a project. Check that the user is postgres.<project-ref> with your exact ref, and that the complete pooler host matches your dashboard. Pasting the dashboard string again is the quickest fix.

Connect with the right endpoint.

Connect to Supabase covers copying the string, the password, SSL, and what each failure message means.

Practical guides