Skip to main content

Plan limits

ResourceFreeHA Cluster
Databases per account2Unlimited
Connections per database5100
Storage4 GB per databaseDepends on server type
NodesShared1–3 dedicated
BackupsNot includedDaily, 14-day retention
Point-in-time recoveryNot includedIncluded
MonitoringBasicFull metrics
SQL EditorNot includedIncluded
Extensionspgvector only25+ extensions

Storage per server type

Server typeAvailable storagevCPUsRAMPrice
Starter55 GB24 GB$29/node/mo
Growth135 GB48 GB$39/node/mo
Scale295 GB816 GB$59/node/mo
Storage listed is fully available for your PostgreSQL database. An additional 20 GB is reserved for the operating system on each node. All nodes in a cluster use the same server type.

Connection limits

TierMax connectionsRecommendation
Free5Development and testing only
HA Cluster100Use connection pooling for high-concurrency apps

Connection pooling

For applications that need more than 100 concurrent connections, use a client-side connection pool:
from psycopg2 import pool

connection_pool = pool.ThreadedConnectionPool(
    minconn=5,
    maxconn=20,
    dsn="postgresql://user:pass@host:5432/mydb?sslmode=require"
)

conn = connection_pool.getconn()
# ... use connection ...
connection_pool.putconn(conn)

Cluster limits

ResourceLimit
Nodes per cluster1–3
Clusters per accountNo hard limit
Databases per clusterNo hard limit (storage permitting)
Extensions per database25+ available
Max vector dimensions16,000 (pgvector)

Rate limits

ActionLimit
API requests60 requests/minute
Cluster operations (create, scale, restore)1 at a time per cluster
Manual backups1 at a time per cluster

Exceeding limits

  • Storage full: Write operations will fail. Scale to a larger server type or delete unused data.
  • Connection limit reached: New connections are rejected. Close idle connections or implement connection pooling.
  • API rate limit: Requests return HTTP 429. Retry with exponential backoff.