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.