Product
Features
One primitive and the lifecycle around it. Every entry here is shipped, in production, and documented.
The primitive
Isolated database cells
A dedicated PostgreSQL process per project, with its own storage, credentials, and CPU and memory limits. Not a schema in a shared database.
Postgres 16 / 17 / 18Direct and pooled connections
A standard postgres:// URL on the direct port, and a transaction pooler on the pooled port for serverless and edge runtimes. Same database, two doors.
5432 / 6432Extensions
A curated catalog you enable per cell, kept current in-database rather than left to drift behind the packaged version.
CatalogIsolation and security
Private network namespace, no egress from standard cells, SCRAM relayed rather than held, and API keys stored only as hashes.
By construction
Workflow
Preview databases
A full copy of your database, cloned rather than dumped, with a time to live. One per pull request, torn down when the branch merges.
CloneImports and migrations
Bring a database over from another managed provider or from your own server, with a follow mode that stays in sync until you cut over.
Near-zero downtimeSchema tooling and typegen
Dump and diff your schema from the CLI, and generate TypeScript types, Zod schemas, or Drizzle definitions from the live database.
ts / zod / drizzleStudio
A SQL editor in the dashboard with schema browsing, linting, and a restore point taken before anything destructive runs.
In-browser
Key-value
K/V stores
A key-value store in its own isolated cell, in the same region as your database. Use it for rate limiting, sessions, queues and caching - or on its own, with no database involved.
Powered by ValkeyRate limiting
Sliding-window, fixed-window and token-bucket limiters through @upstash/ratelimit, checked against a store that sits beside your application rather than an ocean away.
Sliding windowClients you already use
The Upstash REST protocol and RESP, both supported. @upstash/redis, ioredis, redis-py and redis-cli connect unmodified - there is no CapyDB client to adopt.
Redis® OSS compatible
Operate
Backups and point-in-time restore
Continuous off-node archiving with restore to any moment inside your retention window, plus scheduled verification that the restore actually works.
PITRObservability
Resource usage, connection counts, and query-level drill-down per cell, with alerts on the conditions that actually precede an outage.
Per cellAlerts
Notifications on the conditions that actually precede an outage - storage pressure, backup staleness, connection saturation - delivered by email or to your own webhook.
Webhook / emailPause when idle
An untouched cell goes to sleep and stops consuming its share of the node. The next connection wakes it, typically inside a quarter of a second.
Scale to zero