You turn pooling on or off by choosing which hostname your app connects to. The pooler is always running, so there's no setting to change on the compute. A hostname with a -pooler suffix goes through Neon's PgBouncer pooler, which accepts up to 10,000 client connections in transaction mode. A hostname without it connects directly to Postgres. To get either string, click Connect in the Neon Console nav and turn the Connection pooling toggle on or off. See Connection pooling for the full reference.
Switch between pooled and direct in the Console
- Sign in to the Neon Console and select your project.
- Click Connect in the Console nav.
- In the Connect to your branch modal, choose a Branch, Compute, Database, and Role.
- Turn Connection pooling on for the pooled string or off for the direct string, then copy it. The toggle is on by default for new projects.
The toggle only changes which string the modal displays. It doesn't start or stop the pooler.
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 doesn't:
postgresql://alex:AbC123dEf@ep-cool-darkness-a1b2c3d4.us-east-2.aws.neon.tech/dbname?sslmode=require&channel_binding=requireSwitch by editing the connection string
You can also add or remove -pooler after the endpoint ID (ep-...) in any connection string you already have. That's the method Neon recommends. The pooler_enabled property on the API's endpoint object is deprecated. See How to use connection pooling.
When to use pooled vs direct
Use the pooled hostname for:
- Serverless functions and edge runtimes
- Web apps and connection-per-request frameworks
- Workloads with many short-lived connections
Use the direct hostname for:
pg_dumpandpg_restore, which use session-levelSETstatements- Schema migrations, since some migration tools don't support transaction pooling
- Logical replication
- Long-running analytics queries, to avoid contention for pooled connections
- Session features that transaction mode doesn't support:
SET/RESET,LISTEN/NOTIFY, SQL-levelPREPARE/DEALLOCATE, and session-level advisory locks
See When to use pooled vs direct connections for the full table.

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








