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
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "App hosting platforms with managed Postgres compared (2026): Prisma Compute, Railway, Render, Fly.io, Supabase, Neon and Vercel"
slug: "app-hosting-platforms-with-managed-postgres-2026"
date: "2026-09-30"
updatedAt: "2026-10-14"
updatedAt: "2026-10-19"
authors:
- "Gregory Boch"
metaTitle: "App hosting platforms with managed Postgres compared (2026): Node.js on Prisma Compute, Railway, Render, Fly.io, Vercel"
Expand Down Expand Up @@ -140,7 +140,7 @@ Each entry has the same headings, and each competitor ends with how it compares

**Best for:** Postgres with auth, storage and Edge Functions from one vendor, with the frontend elsewhere.

**What it does:** managed Postgres with a shared pooler and Edge Functions on Deno; it does not host frontends. A branch per pull request starts without production data; a seed file fills it.
**What it does:** managed Postgres with a shared pooler and Edge Functions on Deno; it does not host frontends. [Supabase Compute](https://supabase.com/compute), which runs backend services, is a private alpha (us-west-2 only, not for production). A branch per pull request starts without production data; a seed file fills it.

**Scaling behavior:** paid compute runs all month at the size you pick; branches bill $0.01344 per branch-hour; Free projects pause after a week of inactivity.

Expand Down Expand Up @@ -172,7 +172,7 @@ Each entry has the same headings, and each competitor ends with how it compares

Four of the seven host the app and the database with one vendor: Prisma Compute with Prisma Postgres, Railway and Render in one project, and Fly.io in one organization, where a Managed Postgres cluster runs in the organization's private network and is attached to an app. On Railway, Render and Fly.io the database is a resource next to the app, read from a connection string. On Prisma it is a dependency the service declares in its Composer module: the deploy provisions it and hands the service the connection, typed and migrated before the service starts when declared with `postgres()` and a Prisma ORM contract, a plain URL you migrate yourself when declared with `rawPostgres()`. The cost is a declaration in the repo and a TypeScript-only runtime; the return is that production and every preview branch get the same wiring.

Supabase and Neon run backend code next to the data. Supabase does not host frontends, and Neon's full-stack guide keeps the UI on Vercel, Netlify or another frontend host, so a web app on either has two hosts and two bills. Vercel is the app host, with the database from a Marketplace provider.
Supabase and Neon run backend code next to the data. Supabase does not host frontends (its Compute private alpha runs backend services), and Neon's full-stack guide keeps the UI on Vercel, Netlify or another frontend host, so a web app on either has two hosts and two bills. Vercel is the app host, with the database from a Marketplace provider.

### Considering Neon but want app hosting too?

Expand Down Expand Up @@ -233,3 +233,4 @@ Neon (every plan), Railway (opt-in), Render (paid databases), Fly Managed Postgr
- 2026-10-14: Prisma Postgres Free storage updated from 1.01 GB to 2 GB, matching the pricing page.
- 2026-10-12: the Fly.io row now says Managed Postgres runs in the organization's private network and is attached to an app, instead of putting app and database in one project; the Fly.io Machine price changed from $1.94 to $2.19 a month after Fly.io's price update of 2026-10-01, and Managed Postgres storage ($0.28 per GB) is listed; Neon Functions charges are listed apart from the database's CU-hour price; porting steps now say the port and `process.env` changes apply to each Node.js or Bun server and the Postgres client change only to a server that talks to Postgres, while a Next.js app uses the `nextjs` build adapter with `output: 'standalone'`, whose server binds the port itself.
- 2026-10-14: the Railway price cell now lists Railway's Free plan ($0 with $1 of credit a month after a 30-day trial), and the Railway backups cell says volume backups are taken by hand or on a schedule you turn on; the Neon Functions Free allowance is now stated per project; Railway's pricing page and docs and Neon's pricing and plans pages were checked on 2026-10-14.
- 2026-10-19: the Supabase section and the one-vendor paragraph now say Supabase Compute, which runs backend services, is a private alpha (us-west-2 only, not for production), checked against supabase.com/compute on 2026-10-19.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Move a local Postgres database online (2026): migrate it to the cloud with Prisma Postgres, Neon, Render, Railway or Supabase"
slug: "from-local-to-production-with-prisma-postgres"
date: "2026-07-31"
updatedAt: "2026-10-14"
updatedAt: "2026-10-19"
authors:
- "Søren Bramer Schmidt"
metaTitle: "Move a local Postgres database online: services to host it and migrate it to the cloud (2026)"
Expand All @@ -27,7 +27,7 @@ Prisma Postgres is managed PostgreSQL 17 with connection pooling included. Its F
| **Neon** | Database branches, point-in-time restore, PostgreSQL 18 sources | 3: create a project, `pg_dump`, `pg_restore` | No time limit; the compute suspends after 5 minutes without queries and wakes on the next one | 1 GB per project | Backend functions (Neon Functions, generally available since 2026-09-17); Neon's guide keeps the frontend on another host | [pg_dump and pg_restore](https://neon.com/docs/import/migrate-from-postgres), [scale to zero](https://neon.com/docs/introduction/scale-to-zero), [Functions](https://neon.com/docs/compute/functions/overview), [full-stack apps](https://neon.com/use-cases/full-stack-apps), [pricing](https://neon.com/pricing) |
| **Render** | Apps already on Render | 3: create a database, `pg_dump`, `pg_restore` | Expires 30 days after creation, idle or not, and is deleted 14 days later unless you upgrade it | 1 GB | Yes, as a Render web service | [Creating and connecting](https://render.com/docs/postgresql-creating-connecting), [free tier](https://render.com/docs/free) |
| **Railway** | Apps already on Railway | 4: add Postgres, open a way in (the public TCP Proxy, or an SSH tunnel with `railway connect postgres --tunnel-only`), `pg_dump`, `pg_restore` | Free plan: $1 of credit a month after a one-time $5 trial, which ends after 30 days or when the $5 is spent, whichever comes first; volumes created during the trial are deleted 30 days after the trial credits expire, unless you upgrade | 0.5 GB | Yes, within the monthly credit | [Postgres guide](https://docs.railway.com/databases/postgresql), [free trial](https://docs.railway.com/pricing/free-trial), [pricing](https://railway.com/pricing) |
| **Supabase** | Supabase Auth and Storage | 5: set up a migration machine, create the project, `pg_dump`, `pg_restore`, then recreate roles and turn row-level security back on | Paused after a week without activity | 500 MB | Edge Functions, not a long-running server | [Migration guide](https://supabase.com/docs/guides/platform/migrating-to-supabase/postgres), [Edge Function limits](https://supabase.com/docs/guides/functions/limits), [pricing](https://supabase.com/pricing) |
| **Supabase** | Supabase Auth and Storage | 5: set up a migration machine, create the project, `pg_dump`, `pg_restore`, then recreate roles and turn row-level security back on | Paused after a week without activity | 500 MB | Edge Functions, not a long-running server; Supabase Compute is a private alpha (us-west-2 only, not for production) | [Migration guide](https://supabase.com/docs/guides/platform/migrating-to-supabase/postgres), [Edge Function limits](https://supabase.com/docs/guides/functions/limits), [pricing](https://supabase.com/pricing) |

Rows are ordered by steps, then by what a free database left idle does, then by whether the same free account can also put the app online. Prisma Postgres and Neon tie on the first two. Prisma Postgres is listed first because its free account can also run the web app that uses the database on Prisma Compute, frontend included when Next.js, Astro, TanStack Start or your own Node.js or Bun server serves it; Neon's Free plan runs backend functions next to the database, and its guide puts the frontend on another host. Render and Railway can also run the app on the same account: Render's free database expires after 30 days, and Railway's Free plan runs the app and the database within $1 of credit a month.

Expand Down Expand Up @@ -318,6 +318,7 @@ Checked on 2026-10-06:

## Update history

- 2026-10-19: the Supabase row's app column now says Supabase Compute is a private alpha (us-west-2 only, not for production), checked against supabase.com/compute on 2026-10-19.
- 2026-10-14: added a database-only line (Prisma Postgres or Neon) at the top of Pick by need and a one-sentence answer under the question on which service makes the move easiest; updated Prisma Postgres Free storage from 1.01 GB to 2 GB.
- 2026-10-08: retitled the post around migrating a local Postgres database to the cloud; opened with the steps and free-tier idle rules of all five services; replaced the ranked table with a comparison ordered by steps, idle rules and whether the same free account can put the app online, with free storage and sources; added the question on which service makes the move easiest and a Pick by need list; renamed the Any app section; cut the Import Data Assistant entry in Neon's import row down to its documented limits; added where Composer's config lives and the server changes an existing app needs; rechecked each vendor's pages.
- 2026-10-07: retitled the post around moving a local Postgres database online; ranked the five services by the steps from an empty account to a restored database, then by what a free database left idle does, in place of listing Prisma Postgres first; counted Neon's `pg_dump` path, which takes the same three steps as Prisma Postgres; counted the Prisma Postgres steps with the database created in the Console, and the five-command terminal path; added the Any app section and the FAQ on which service makes it easy; moved the Prisma ORM checklist under its own heading, as the path a Prisma project follows instead of the Any app steps, and the Neon and Supabase picks into Where Prisma Postgres is the wrong choice; rechecked each vendor's pages.
Expand Down
7 changes: 5 additions & 2 deletions apps/blog/content/blog/prisma-vs-netlify/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Netlify alternatives for a full-stack TypeScript app with Postgres (2026)"
slug: "prisma-vs-netlify"
date: "2026-09-16"
updatedAt: "2026-10-14"
updatedAt: "2026-10-19"
authors:
- "Shane Neubauer"
metaTitle: "Netlify alternatives for a full-stack TypeScript app with Postgres (2026)"
Expand Down Expand Up @@ -135,7 +135,9 @@ when the same app has to be close to users on more than one continent. Fly.io al

**Supabase.** Postgres with auth, storage, realtime, and Edge Functions from one vendor. It fits when
what you miss is those surrounding services, and it fits poorly if all you need is a database and a
host for a Node.js or Bun server, because its Edge Functions run on a Deno-compatible runtime.
host for a Node.js or Bun server, because its Edge Functions run on a Deno-compatible runtime and
[Supabase Compute](https://supabase.com/compute), which runs Node, is a private alpha (us-west-2
only, not for production).

**Neon.** Postgres with copy-on-write branching, and the database Netlify Database is built on. Neon
Functions (generally available since 2026-09-17, also on Free) run Node.js 24 HTTP handlers next to
Expand Down Expand Up @@ -401,6 +403,7 @@ Prisma ORM works with Netlify Database, which is PostgreSQL built on Neon, and i

## Update history

- 2026-10-19: the Supabase profile now says Supabase Compute, which runs Node, is a private alpha (us-west-2 only, not for production), checked against supabase.com/compute on 2026-10-19.
- 2026-10-14: moved the two paragraphs on the Compute runtime and when Netlify is the better fit below the "Pick by app type" table, added a first row to that table for a full-stack TypeScript app leaving Netlify that names all five alternatives and two Compute limits, and updated two cells in the longest-request row of the feature-parity table from each vendor's limits page: Vercel lists a 30-minute maximum in beta on Pro and Enterprise, and a Supabase Edge Function has 150 seconds to respond on every plan; updated Prisma Postgres Free storage from 1.01 GB to 2 GB.
- 2026-10-12: reworded the FAQ answer on Netlify alternatives and the first paragraph of the closing section to describe the options side by side.
- 2026-10-08: rewrote the description and the opening to name five alternatives side by side, added a "Pick by app type" table and an FAQ on whether Compute runs functions or a server, updated the Railway and Neon profiles from their docs, stated the Starter base fee and metered Compute usage in the Prisma profile and the billing row, made the closing section say that Netlify fits code that depends on the Node.js runtime itself rather than Bun, and moved this history to the end.
Expand Down
6 changes: 3 additions & 3 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-14"
updatedAt: "2026-10-19"
authors:
- "Martin Janse van Rensburg"
tags:
Expand Down Expand Up @@ -176,7 +176,7 @@ The five above cover the main shapes. Most of the rest of the managed-Postgres m
- **Nile** is serverless Postgres for multi-tenant apps: every tenant is a virtual database in one Postgres, billed in query tokens (free tier 50M tokens and 1 GB; Pro from $15/mo). Its bet is multi-tenant compute that never pauses.
- **Tembo** pivoted in May 2025 to running AI coding agents and no longer markets a Postgres product. Worth knowing if you shortlisted it from an older comparison.

**Managed instances (not serverless):** DigitalOcean (from $15.15/mo), Render (from $6/mo, billed per second), and Heroku Postgres (from $5/mo) all sell instance sizes you pick and resize yourself: no autoscaling, no scale-to-zero, and none of them calls the product serverless. Railway is the edge case: it bills usage per minute and offers opt-in sleep for idle services, though its docs don't say whether volume-backed Postgres can sleep.
**Managed instances (not serverless):** DigitalOcean (from $15.15/mo), Render (from $6/mo, billed per second), and Heroku Postgres (from $5/mo) all sell instance sizes you pick and resize yourself: no autoscaling, no scale-to-zero, and none of them calls the product serverless. Railway is the edge case: it bills usage per second and offers opt-in sleep for idle services, though its docs don't say whether volume-backed Postgres can sleep.

**Hyperscalers:** Aurora Serverless v2 (above) is the only hyperscaler Postgres that auto-suspends. Amazon RDS for PostgreSQL is provisioned managed Postgres: you pick an instance class and pay by the hour it runs, with automated backups and point-in-time restore inside a 1–35 day retention period (0 days turns automated backups off), read replicas and Multi-AZ standbys (checked 2026-10-12). Google Cloud SQL and AlloyDB, and Azure Database for PostgreSQL Flexible Server (from ~$12/mo), all use fixed compute with manual stop at most, and none is branded serverless by its own vendor.

Expand All @@ -198,7 +198,7 @@ For most side projects, a free tier covers it entirely: Prisma Postgres includes
Yes. Databricks agreed to acquire Neon on May 14, 2025 (reported at about $1 billion) and committed to continued investment in the platform; Neon's own docs describe it as continuing as a standalone serverless Postgres platform. As of July 2026, Neon operates under its own brand with active pricing and docs, positioned as complementary to Databricks Lakebase. Those are stated intentions rather than guarantees, which is worth weighing for long-horizon platform bets.
</Accordion>
<Accordion title="Are DigitalOcean, Render, Heroku, Railway, Cloud SQL, or Azure Postgres serverless?">
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 minute and offers an opt-in sleep feature for idle services, though its docs leave unstated whether volume-backed Postgres services can sleep.
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.
Expand Down
Loading
Loading