Maximum number of concurrent client connections.
At a glance
| Property | Value |
|---|---|
| Parameter | max_connections |
| Category | Connections |
| Default | 100 |
| Value type | boolean / enum / numeric |
| Change scope | Restart required |
What it does
Determines the maximum number of concurrent connections to the server. Each connection is a backend process that reserves memory and shared-memory slots.
How to apply a change
Requires a full server restart (postmaster context). Set it in postgresql.conf and restart PostgreSQL.
Inspect the current value and source with SHOW max_connections; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'max_connections';.
Tuning guidance
Do not simply raise this — each backend costs RAM and adds contention. The standard pattern is a low-to-moderate max_connections (a few hundred) fronted by a transaction-mode pooler (PgBouncer). Hitting it raises SQLSTATE 53300 (too_many_connections).