Platform hub

PostgreSQL limits

Engine limits, configured server values, and practical operational constraints. Values below are scoped rather than flattened into one misleading platform-wide number.

Verified Aug 22, 2026Official docs
Quick answer:  PostgreSQL has multiple independent constraints. Match the exact plan, model, runtime, invocation mode, or server configuration shown in each row.

Current documented limits

ConstraintCurrent valueScopeVerified 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 defaultPostgreSQL 18PostgreSQL Global Development GroupAug 22, 2026
Field sizeVariable-length values can be stored out of line with TOAST; practical limits may be lower.1 GBPostgreSQL 18PostgreSQL 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,600PostgreSQL 18PostgreSQL Global Development GroupAug 22, 2026
Identifier lengthCan be changed only by recompiling PostgreSQL.63 bytesPostgreSQL 18PostgreSQL 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.

  1. Match the production workload to the exact scope printed beside each value and confirm it in the active PostgreSQL console, configuration, or response headers.
  2. Measure the serialized request, token volume, duration, concurrency, storage, or connection demand at realistic percentiles, then preserve headroom for bursts and retries.
  3. 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.

Compare alternatives

Official sources

View PostgreSQL change history