Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions apps/blog/content/blog/serverless-postgres/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Serverless Postgres compared (2026): Neon, Supabase, Amazon RDS/Aurora and Prisma Postgres"
slug: "serverless-postgres"
date: "2026-07-09"
updatedAt: "2026-10-19"
updatedAt: "2026-10-20"
authors:
- "Martin Janse van Rensburg"
tags:
Expand All @@ -12,7 +12,7 @@ metaTitle: "Serverless Postgres compared (2026): Neon, Supabase, Amazon RDS/Auro
metaDescription: "Serverless and managed Postgres compared for 2026: Neon, Supabase, Amazon RDS and Aurora Serverless v2, Prisma Postgres and PlanetScale on billing, scale-to-zero, cold starts, free tiers and what each adds as an app grows."
metaImagePath: "/serverless-postgres/imgs/meta.png"
heroImagePath: "/serverless-postgres/imgs/hero.svg"
heroImageAlt: "A compute usage curve that suspends after five minutes idle and wakes a few hundred milliseconds later, drawn under a flat always ready line."
heroImageAlt: "A compute usage curve that suspends after five minutes idle and wakes a few hundred milliseconds later."
---

Serverless Postgres is PostgreSQL you never provision or manage: the platform allocates compute on demand and bills you for usage, not for a server size you picked up front. One label, though, covers very different products, and they differ on two things that decide your cost and your latency: **what they bill for**, and **whether compute sleeps when idle**.
Expand All @@ -29,7 +29,7 @@ Rows in alphabetical order; checked 2026-10-12; we make Prisma Postgres.
| **Amazon RDS for PostgreSQL** (provisioned, not serverless) | Instance hours + storage | No: the instance bills while it runs | Not applicable (provisioned instance) | AWS Free plan credits (new accounts): db.t3.micro or db.t4g.micro | db.t4g.micro $0.016/hour (~$11.68/month) + $0.115/GB-month, US East |
| **Neon** | CU-hours | After 5 min idle; fixed on Free | A few hundred ms | 100 CU-hours and 1 GB per project, 100 projects, 20 GB total | Launch: pay as you go, no monthly minimum, $0.106/CU-hour |
| **PlanetScale Postgres** | Cluster size + storage, backups, egress | Not documented | Not documented | None listed | $5/month single node |
| **Prisma Postgres** | Operations (queries) | No (stays ready; vendor claim) | None (by design; vendor claim) | 200k operations, 2 GB, 50 databases | $10/month (1M operations, 10 GB) |
| **Prisma Postgres** | Operations (queries) | Not documented | Not documented | 200k operations, 2 GB, 50 databases | $10/month (1M operations, 10 GB) |
| **Supabase** | Plan + compute billed hourly per project | Free projects pause after 1 week idle; paid never pause | None on paid; a paused Free project must be restored from the dashboard | 2 active projects, 500 MB | $25/month Pro, with $10 compute credits |

## By stage: prototype, first paying users, growth
Expand All @@ -55,7 +55,7 @@ Walk the tree, or read the guidance beneath it.

- **Side project, prototype, or agent-generated app:** you want a generous free tier and zero setup. Prisma Postgres (200k operations, 50 databases, no card), Neon (100 CU-hours per project, up to 100 projects), or Supabase (2 projects, if week-idle pausing is acceptable).
- **Spiky or scheduled workloads (cron jobs, internal tools, dev/test fleets):** compute-time billing with scale-to-zero was built for this. Neon, or Aurora if you're already on AWS and can tolerate ~15-second resumes.
- **User-facing apps that go idle but have latency-sensitive users:** this is where cold starts hurt. Either keep the database always ready and pay per query (Prisma Postgres), disable auto-suspend on Neon, or run a small instance on PlanetScale ($5 single node; its docs don't describe scale-to-zero) or paid Supabase ($25; paid projects never pause). The [cost comparison](#the-cost-crossover) below shows how to pick between them.
- **User-facing apps that go idle but have latency-sensitive users:** this is where cold starts hurt. Either disable auto-suspend on Neon, or run a small instance on PlanetScale ($5 single node; its docs don't describe scale-to-zero) or paid Supabase ($25; paid projects never pause). Prisma Postgres bills per query instead, and idle time adds nothing to its bill. The [cost comparison](#the-cost-crossover) below shows how to pick between them.
- **Steady, high-throughput production:** dedicated capacity wins on price-per-query at sustained load. PlanetScale (from $5 single node, $50 Metal), or Aurora sized for the load.
- **Many small databases (per-tenant, per-user, per-AI-agent):** account-level metering across a fleet beats per-database pricing. Prisma Postgres meters operations across all databases in a workspace; Neon's per-project free allowance also stretches far.
- **You want more than a database:** for auth, storage, and realtime out of the box, Supabase. For app hosting alongside the database, Prisma pairs Prisma Postgres with [Prisma Compute](https://www.prisma.io/docs/compute) (TypeScript app hosting, generally available since August 2026) and the ORM as one platform.
Expand Down Expand Up @@ -91,7 +91,7 @@ Where a provider suspends, the wake time below is from its own docs; where it do
- **Aurora Serverless v2:** resume from 0 ACUs takes "approximately 15 seconds," or 30+ after a pause over 24 hours (AWS's docs).
- **Supabase:** paid projects never pause (no cold start); free projects pause after a week and need a restore.
- **PlanetScale:** its docs don't describe scale-to-zero or a wake time; a cluster bills for the time it runs, prorated to the millisecond.
- **Prisma Postgres:** always ready, so no cold start, by architecture rather than by paying for idle time. This is our own claim about our own product (see the [architecture write-up](/prisma-postgres-the-future-of-serverless-databases)) and isn't independently benchmarked; hold it to the same skepticism as any vendor claim.
- **Prisma Postgres:** its docs don't describe scale-to-zero or a wake time; it bills per operation, not for compute time.

On compute-time platforms, cold starts are the price of the savings: eliminate them and you're paying for idle time again.

Expand All @@ -101,11 +101,11 @@ Same attributes for each, so you can scan across them.

### Prisma Postgres

Managed Postgres on unikernels in microVMs, designed so databases are always ready. (Disclosure: Prisma publishes this guide; the no-cold-start claim is ours and is documented but not independently benchmarked.)
Managed Postgres on unikernels in microVMs. (Disclosure: Prisma publishes this guide.)

- **Best for:** apps that want the bill to track query traffic, and fleets of many small databases.
- **Bills for:** operations, defined on the [pricing page](https://www.prisma.io/pricing) as "each time you interact with your database, no matter the compute time. We count the Prisma ORM queries you make, not the SQL statements you run." Check the pricing docs for how non-ORM queries count.
- **Idle behaviour:** no scale-to-zero and no cold starts; databases stay ready.
- **Idle behaviour:** Prisma Postgres docs don't describe scale-to-zero or a wake time (checked 2026-10-20).
- **Free / entry:** 200,000 operations, 2 GB, and 50 databases, no card; paid from $10/mo (1M operations, 10 GB, then $0.008 per 1,000) to $129/mo (50M operations). Allowances are account-wide, not per database.
- **Watch out for:** no copy-on-write database copies yet (separate databases are the substitute: on Prisma Compute, every pushed branch gets a preview with its own services and, for databases declared in the Prisma Composer module, its own new database; production data is not copied); less operational track record than Aurora or Supabase; at sustained high query volume the per-operation math can exceed always-on billing (see the [cost comparison](#the-cost-crossover)).

Expand Down Expand Up @@ -189,7 +189,7 @@ The test that sorts the field: if you pick an instance size and the vendor never
Serverless Postgres is PostgreSQL run by a platform that allocates compute on demand and bills for usage instead of a provisioned server. Implementations differ: some meter compute time and suspend when idle (Neon, Aurora Serverless v2), some bill per query with compute fully abstracted (Prisma Postgres), and some sell managed instances billed for the time they run (PlanetScale, Supabase).
</Accordion>
<Accordion title="Do all serverless Postgres databases have cold starts?">
No. Cold starts only exist where compute suspends: Neon takes a few hundred milliseconds to activate from idle (its own docs' figure), and Aurora Serverless v2 takes about 15 seconds to resume from 0 ACUs. Paid Supabase projects avoid cold starts by never pausing, which you pay for as always-on instances; PlanetScale's docs don't describe scale-to-zero or cold starts; and Prisma Postgres states its unikernel architecture has no suspended state at all (a vendor claim, ours).
No. Cold starts only exist where compute suspends: Neon takes a few hundred milliseconds to activate from idle (its own docs' figure), and Aurora Serverless v2 takes about 15 seconds to resume from 0 ACUs. Paid Supabase projects avoid cold starts by never pausing, which you pay for as always-on instances; PlanetScale's docs don't describe scale-to-zero or cold starts, and neither do Prisma Postgres docs.
</Accordion>
<Accordion title="Which serverless Postgres is cheapest for a side project?">
For most side projects, a free tier covers it entirely: Prisma Postgres includes 200,000 operations, 2 GB and 50 databases per month with no credit card, and Neon includes 100 CU-hours and 1 GB of storage per project, for up to 100 projects and 20 GB of storage in total. The first paid dollar differs by model: $5/month buys a single node on PlanetScale, $10/month buys 1M operations on Prisma Postgres, and Neon bills pure usage with no minimum.
Expand All @@ -201,7 +201,7 @@ Yes. Databricks agreed to acquire Neon on May 14, 2025 (reported at about $1 bil
Mostly no. DigitalOcean, Render, Heroku, Cloud SQL, and Azure Flexible Server sell instance sizes you pick, with no compute autoscaling and no automatic suspension, and none of their vendors calls these products serverless. Cloud SQL and Azure support stopping an instance manually (Azure restarts stopped servers automatically after 7 days), which saves money but is not scale-to-zero. Railway is the group's exception: it bills actual usage per second and offers an opt-in sleep feature for idle services, though its docs leave unstated whether volume-backed Postgres services can sleep.
</Accordion>
<Accordion title="What is the difference between scale-to-zero and no cold starts?">
Scale-to-zero means compute suspends when idle so you stop paying for it; the cost is a cold start when traffic returns. No cold starts means the database is always ready; on an instance that never pauses, such as paid Supabase, you achieve it by paying for idle time. Operation-based billing moves the question instead of splitting it: you pay per query rather than for compute time in either state, which removes cold starts from the equation but makes total query volume the number to watch.
Scale-to-zero means compute suspends when idle so you stop paying for it; the cost is a cold start when traffic returns. No cold starts means the database is always ready; on an instance that never pauses, such as paid Supabase, you achieve it by paying for idle time. Operation-based billing moves the question instead of splitting it: you pay per query rather than for compute time in either state, which makes total query volume the number to watch.
</Accordion>
</Accordions>

Expand All @@ -212,6 +212,6 @@ Pick by the shape of your workload:
- **Can sleep, tolerant of a sub-second wake?** Neon.
- **Dedicated capacity you want to be predictable?** PlanetScale, or paid Supabase if you also want the bundled backend.
- **Already committed to AWS?** Aurora Serverless v2.
- **Want costs tied to query traffic, with no cold starts?** Prisma Postgres.
- **Want costs tied to query traffic?** Prisma Postgres.

To try the operation-based model, spin up a [Prisma Postgres](https://www.prisma.io/docs/postgres) database in seconds with `npx create-db` (no account; temporary until you claim it), or use `npx prisma dev` for a local instance. For the money side in depth, a companion post breaks Prisma Postgres and Neon pricing down line by line.
Loading
Loading