AWS RDS
Amazon's managed relational database. Battle-tested and feature-complete, but complex pricing with many hidden add-on costs.
Managed database services compared — with real pricing, hidden costs, and known gotchas from the community. Each entry includes vendor stability assessment, risk flags, and copy-paste integration code for Node.js and Python.
Every service is assessed on: vendor stability (acquisitions, pricing changes), real pricing (including hidden costs and overages), known gotchas (cold starts, deleted free tiers), and integration time. Updated March 2026: Neon acquired by Databricks, prices dropped 15-25%.
Quick recommendation:
| I need… | Use this | Starting price | Watch out for |
|---|---|---|---|
| Serverless Postgres + branching | Neon | Free (0.5 GB), Launch ~$15/mo (usage-based) | Usage-based pricing can be unpredictable; 350ms cold starts on free tier |
| Full-stack platform (auth+DB+storage) | Supabase | Free (500 MB), Pro $25/mo | Overpaying if you only need DB |
| Cheapest always-on Postgres | Render | $7/mo Starter (1 GB) | Free tier deleted after 30 days |
| Cheapest usage-based | Railway | ~$5/mo (usage-based) | Container, not managed DB |
| Enterprise on AWS | AWS RDS | ~$13/mo (db.t3.micro) | Multi-AZ doubles cost; complex pricing |
| MySQL with zero-downtime migrations | PlanetScale | $39/mo (no free tier) | FK constraints limited on sharded tables |
| Service | Free Tier | Catches | Permanent? |
|---|---|---|---|
| Neon | 0.5 GB, 1 project | 350ms cold starts; compute pauses | Yes |
| Supabase | 500 MB, 2 projects | Pauses after 1 week idle | Yes |
| Render | 256 MB, 1 database | DELETED after 30 days | No |
| Railway | $5 credit for 30 days | Trial only | No |
| PlanetScale | None | Removed April 2024 | No |
| AWS RDS | db.t3.micro for 12 months | Expires after 12 months from account creation | No |
Need auth for your app too? See our auth comparison — Better Auth is free and self-hosted on your database.
npm install @neondatabase/serverless
import { neon } from '@neondatabase/serverless';
const sql = neon(process.env.DATABASE_URL);
const users = await sql`SELECT * FROM users WHERE id = ${userId}`;
npm install @supabase/supabase-js
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_KEY);
const { data } = await supabase.from('users').select('*').eq('id', userId);
npm install pg
import pg from 'pg';
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
const { rows } = await pool.query('SELECT * FROM users WHERE id = $1', [userId]);
Full integration guides with Python, SvelteKit, and more on each service page.
Railway Postgres starts at ~$5/month (usage-based). Render Postgres starts at $7/month (fixed). Neon’s Launch tier is ~$15/month (usage-based) and scales to zero, so idle apps pay less. Avoid free tiers for production — Render deletes them after 30 days, and Neon has 350ms cold starts.
Neon is excellent for production on the Scale tier ($69/month) which provides always-on compute without cold starts. The free tier has 350ms cold starts. On the Launch tier, cold starts can be disabled by turning off scale-to-zero. Neon was acquired by Databricks in 2025, improving financial stability and dropping prices 15-25%.
No. Supabase bundles auth, storage, realtime, and edge functions alongside the database. If you only need PostgreSQL, you’re overpaying. Use Neon ($19/month) or Render ($7/month) instead. Only choose Supabase when you’ll actually use the full platform (auth + storage + realtime).
Choose Neon for serverless scaling and database branching (CI/CD). Choose Supabase for a full-stack platform (auth + DB + storage). Choose Render for the cheapest always-on instance alongside Render hosting. Choose AWS RDS only if you’re already on AWS and need enterprise features.
Amazon's managed relational database. Battle-tested and feature-complete, but complex pricing with many hidden add-on costs.
Serverless Postgres with branching, built-in connection pooling (pgBouncer, up to 10K connections), multi-AZ HA, read replicas, and Neon Auth (Better Auth, 60K MAU free) — all included on every plan. Usage-based pricing with a $5/month minimum on paid plans.
Serverless MySQL and Postgres with branching and zero-downtime schema changes. Removed free tier in 2024 — now starts at $5/month (single-node) or $39/month (Scaler cluster).
PostgreSQL on Railway's PaaS. Usage-based pricing starting at ~$5/month. Simple setup but it's a container, not a purpose-built managed database.
Simple managed Postgres on Render. Easy setup and fair pricing — but free tier databases are deleted after 30 days without warning.
Open-source Firebase alternative with managed Postgres. Full platform with auth (100K MAU on Pro), storage, realtime, edge functions — with a spend cap to prevent bill shock.
Edge-native SQLite database built on libSQL. 100 free databases with 5 GB storage. Zero cold starts, embedded replicas for edge deployments.