Open your project in the Neon Console and click Connect on the Project Dashboard. In the Connect to your database widget, toggle Connection pooling on or off. The displayed connection string switches between the pooled hostname (with a -pooler suffix) and the direct hostname. Pooled connections support up to 10,000 client connections through PgBouncer in transaction mode. See Connection pooling for the full reference.
Toggle pooling from the Console
- Sign in to the Neon Console and select your project.
- On the Project Dashboard, click Connect.
- In the Connect to your database modal, choose a Branch, Compute, Database, and Role.
- Use the Connection pooling switch to flip between pooled and direct.
A pooled connection string has -pooler in the hostname:
postgresql://alex:AbC123dEf@ep-cool-darkness-a1b2c3d4-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require&channel_binding=requireA direct connection string has no -pooler segment:
postgresql://alex:AbC123dEf@ep-cool-darkness-a1b2c3d4.us-east-2.aws.neon.tech/dbname?sslmode=require&channel_binding=requireThe toggle does not turn the pooler off at the compute. It selects which hostname your app uses. Both endpoints are available as long as pooler_enabled is set on the compute.
Setpooler_enabledvia the API
To make the pooled hostname available (or remove it) for a compute, patch the endpoint:
curl -X PATCH \
"https://console.neon.tech/api/v2/projects/$PROJECT_ID/endpoints/$ENDPOINT_ID" \
-H "Authorization: Bearer $NEON_API_KEY" \
-H 'Content-Type: application/json' \
-d '{ "endpoint": { "pooler_enabled": true } }'Set "pooler_enabled": false to disable it. See Manage computes with the Neon API and the Update compute reference.
When to use pooled vs direct
Use the pooled hostname for:
- Serverless functions and edge runtimes
- Connection-per-request web frameworks
- Workloads with many short-lived connections
Use the direct hostname for:
pg_dumpandpg_restore(uses session-levelSETstatements)LISTEN/NOTIFY- Long-running transactions, schema migrations, and SQL-level
PREPARE/DEALLOCATE - Session-level advisory locks and
SET/RESET
Neon's PgBouncer runs in transaction mode, so anything that relies on persistent session state needs a direct connection. See the pooled vs direct table for the full list.
Quick check
If a connection string contains -pooler, you're using the pooled endpoint. If it doesn't, you're connecting directly.

See how Neon configures PgBouncer, per-user pool sizes, and how to avoid common errors.








