← Back to Notes
SupabaseJuly 2, 2026

How to Read and Use a Supabase Connection String Correctly

Use this whenever you're staring at a Supabase connection string and need to translate it into separate Host / Port / User / Password fields for a client that doesn't accept a single connection string.

Steps

A session pooler connection string looks like this:

postgresql://postgres.abcxyzproject:[YOUR-PASSWORD]@aws-1-ap-northeast-1.pooler.supabase.com:5432/postgres

Breaking it apart:

  1. postgres.abcxyzproject → this whole thing is the User, including the dot and project reference, not just postgres.
  2. [YOUR-PASSWORD] → placeholder text, substitute your actual database password here, the one saved when the project was created.
  3. aws-1-ap-northeast-1.pooler.supabase.com → this is the Host.
  4. 5432 → this is the Port, and specifically marks it as the session pooler (transaction pooler uses 6543 instead).
  5. postgres at the very end → this is the Database name, almost always just postgres by default.

Gotcha

It's easy to copy the whole string including the literal text [YOUR-PASSWORD] into a password field by mistake, since it looks like it could be a real value. Supabase masks the real password in the displayed string for security, you have to substitute in the actual password yourself, it's never shown in full after project creation.

Quick reference

Host:     aws-x-<region>.pooler.supabase.com
Port:     5432
Database: postgres
User:     postgres.<project-ref>
Password: <your saved database password>