Current documented limits
| Constraint | Current value | Scope | Verified source |
|---|---|---|---|
| max_connectionsThis is not a universal hard maximum. Kernel settings, provider configuration, reserved slots, and memory affect usable capacity. | Configured per server; typically 100 by default | PostgreSQL 18 | PostgreSQL Global Development GroupAug 22, 2026 |
| Field sizeVariable-length values can be stored out of line with TOAST; practical limits may be lower. | 1 GB | PostgreSQL 18 | PostgreSQL Global Development GroupAug 22, 2026 |
| Columns per tableFurther limited by the requirement that the stored tuple fit on a single heap page; dropped columns still count. | 1,600 | PostgreSQL 18 | PostgreSQL Global Development GroupAug 22, 2026 |
| Identifier lengthCan be changed only by recompiling PostgreSQL. | 63 bytes | PostgreSQL 18 | PostgreSQL Global Development GroupAug 22, 2026 |
How to apply PostgreSQL limits safely
The monitored baseline covers max_connections, Field size, Columns per table, Identifier length. Treat these as separate constraints rather than one platform-wide capacity number: a workload can fit one row and still fail another because the plan, model, endpoint, runtime, region, invocation mode, or account scope differs.
- Match the production workload to the exact scope printed beside each value and confirm it in the active PostgreSQL console, configuration, or response headers.
- Measure the serialized request, token volume, duration, concurrency, storage, or connection demand at realistic percentiles, then preserve headroom for bursts and retries.
- Check every adjacent layer—client, SDK, gateway, proxy, queue, database, and downstream service—for a smaller effective limit before changing architecture.
Specific limit pages
These pages exist because the constraint has a distinct implementation or troubleshooting intent. Closely related keyword variations stay consolidated.
PostgreSQL max connections
How PostgreSQL max_connections actually works, how to inspect it, reserved slots, provider caps, and safer scaling choices.
PostgreSQL row size limits
PostgreSQL 18 field, column, identifier, heap-page, and TOAST constraints without collapsing them into one misleading row-size number.
Errors linked to these limits
SQLSTATE 53300 — too_many_connections
Diagnose PostgreSQL too-many-connections errors by inspecting max_connections, reserved slots, pool multiplication, and active sessions.
SQLSTATE 57014 — query_canceled
Diagnose statement_timeout cancellations, inspect the effective setting, and distinguish statement, lock, transaction, and client timeouts.