shebang!

Connection strings

The session and transaction pooler connection strings sherbase returns, TLS verification, and the libpq < 16 fallback.

Connection strings

base_create_database returns two connection strings, both through the same pooler at the public host db.shebang.pro:

postgres://<role>.<tenant>:<password>@db.shebang.pro:5432/<db>?sslmode=verify-full&sslrootcert=system
postgres://<role>.<tenant>:<password>@db.shebang.pro:6543/<db>?sslmode=verify-full&sslrootcert=system
  • Session pooler (5432) — the general-purpose string; use this unless you have a specific reason to use the other one.
  • Transaction pooler (6543) — for serverless platforms, Prisma, and Drizzle. Prepared statements are not supported in transaction mode, so a client or ORM that relies on them needs the session pooler instead.

<role> and <db> are both base_<slug>; <tenant> namespaces the username the way Supavisor expects. The password is the one base_create_database (or a rotation) showed you once — it's not retrievable again, so if it's lost, regenerate it from the dashboard.

TLS verification

Both strings carry sslmode=verify-full&sslrootcert=system: verify-full checks the server's certificate and hostname; sslrootcert=system tells libpq to verify that certificate against the OS trust store, which is what lets verify-full succeed against a public CA (Let's Encrypt) certificate.

sslrootcert=system needs libpq 16 or newer — the client library psql or your driver links against, not the server version. On an older libpq, download the ISRG Root X1 certificate and use sslrootcert=<path> instead of sslrootcert=system.

Next

The Data API.