Supabase Pro is the most economical for this workload profile.
Architectural Cost Drivers: Why Pricing Varies by 250%
Although all three services run open-source PostgreSQL, their underlying cloud billing models create dramatic pricing divergences:
Dimension
Neon Postgres
Supabase Pro
AWS Aurora Serverless v2
Scale to Zero?
Yes (Suspends to 0 CUs)
No on Pro (Always on)
No (Min 0.5 ACU = ~$43.80/mo)
Compute Unit Cost
$0.16 per CU-hour
$10-$200/mo flat add-ons
$0.12 per ACU-hour
Cold Start Latency
350 – 500 ms
0 ms (Always warm)
0 ms (Scales dynamically)
Storage Billing
$0.35 / GB / month
$0.125 / GB / month
$0.10 / GB + I/O request fees
Connection Pooling
Native HTTP / WebSocket driver
Supavisor included ($0)
RDS Proxy ($0.015/vCPU-hr extra)
Serverless Postgres Architecture: Compute Cold Starts, Neon CU vs Aurora ACU TCO
Modern serverless PostgreSQL decoupled storage and compute architectures (such as Neon, Supabase, and AWS Aurora Serverless v2) allow database compute to scale dynamically from zero to hundreds of vCPUs. While scale-to-zero compute saves up to 90% on staging and low-traffic environments, production AI backends must weigh compute unit pricing ($0.16–$0.24 per ACU/CU hour) and persistent connection pooling strategies (PgBouncer, Prisma Accelerate) against provisioned Amazon RDS or Google Cloud SQL instances.
Provider & Architecture
Billing Metric
Cold Start Latency
Monthly Baseline (1 CU 24/7)
Decoupled Storage Cost
Neon Serverless Postgres
$0.16 / Compute Unit (1 vCPU, 4GB)
300–500 ms (from zero)
$115.20 / mo (if unpaused)
$0.125 / GB / month
AWS Aurora Serverless v2
$0.12 / ACU hour (0.5 ACU min)
No scale-to-zero (0.5 ACU baseline)
$43.20 min – $172.80 (2 ACU)
$0.10 / GB + $0.20/1M I/O
Supabase Dedicated Micro/Small
Flat $10 – $25/mo compute addon
0 ms (Always-on compute)
$35.00 / mo flat
$0.125 / GB / month
Production Pipeline: Edge Connection Pooling with PgBouncer & WebSockets
Serverless backend functions (AWS Lambda, Vercel Edge, Cloudflare Workers) create transient TCP connection bursts that quickly exhaust Postgres connection limits. Deploying pooled connections over HTTP or WebSockets ensures stability:
import { Pool, neonConfig } from '@neondatabase/serverless';
import ws from 'ws';
// Configure Neon driver for WebSocket pipeline multiplexing
neonConfig.webSocketConstructor = ws;
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
max: 20, // Max concurrent pooled sockets per lambda container
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 2000,
});
export async function executeTelemetryQuery(tenantId: string) {
const client = await pool.connect();
try {
const result = await client.query(
`SELECT metric_name, AVG(token_cost) as avg_cost
FROM api_audit_logs
WHERE tenant_id = $1
GROUP BY metric_name`,
[tenantId]
);
return result.rows;
} finally {
client.release();
}
}
Scale-to-Zero Latency Penalties on P99: A cold database compute start of 400ms ruins user-facing chatbot responsiveness. Keep at least 0.25 to 0.5 CU active in production during operational hours, reserving scale-to-zero for dev/preview branches.
Prepared Statement Invalidation: Transaction-mode connection pooling (PgBouncer) does not support session-level prepared statements. Ensure ORM configurations (e.g., Prisma, Drizzle) disable statement caching or use raw parameter substitution.
Decoupled WAL Storage Costs: Serverless databases maintain copy-on-write page branching for instant point-in-time recovery. Deleting large tables without vacuuming leaves orphaned page blocks in object storage, accumulating silent monthly fees.
Q: How do Neon and Supabase eliminate Postgres connection exhaustion in serverless functions?
A: By deploying managed PgBouncer transaction-level connection pools and WebSocket proxies. Serverless lambda functions connect via lightweight HTTP or WebSocket drivers that multiplex hundreds of transient client connections over a compact pool of persistent database sockets.
Q: What is the true cost impact of Aurora Serverless v2's 0.5 ACU minimum baseline?
A: Because Aurora Serverless v2 does not scale to absolute zero (minimum 0.5 ACU at $0.12/ACU-hour), an idle database costs approximately $43.20/month before storage and I/O charges, making Neon or Supabase micro instances more cost-effective for dev environments.
Q: How does storage separation affect point-in-time recovery and database branching?
A: Decoupled object-storage architectures allow copy-on-write page branching in seconds without duplicating physical data. Developers can spin up isolated staging databases from production snapshots for pennies of delta storage.
Autoscaling Thresholds & Active Pool Allocation
Configure autoscaling sensitivity thresholds to prevent thrashing between 0.5 CU and 4 CU during sporadic burst traffic. Maintaining minimum baseline allocation during operational business hours guarantees sub-10ms query execution across microservice architectures.
Verified across 168 community production token & cost audits
Rate this benchmark:
Architectural Benchmark: Neon vs Supabase vs AWS Aurora Serverless v2
Serverless Postgres has redefined relational database infrastructure by decoupling compute from storage. However, the pricing mechanics differ drastically between providers:
Neon: Separates storage into custom Paxos-based pageservers and safekeepers with ephemeral compute microVMs. Compute scales down to absolute zero after 5 minutes of inactivity ($0/hr idle), billing strictly for active CPU-seconds ($0.16/compute hour for 1 CU).
Supabase: Provides dedicated virtual machines with bundled storage and edge functions. Compute runs continuously ($25/mo Pro tier base with 8GB disk), offering predictable pricing for steady 24/7 workloads without cold start latency.
AWS Aurora Serverless v2: Scales dynamically in Aurora Capacity Units (ACUs) between 0.5 and 128 ACUs. However, Aurora does not scale to true zero (minimum 0.5 ACU = ~$43.80/month baseline before storage or I/O charges).
Monthly TCO Benchmark Across Workload Profiles
Application Profile
Active Hours & Queries
Neon Serverless
Supabase Pro
AWS Aurora Serverless v2
Dev / Staging Environments
40 hrs/wk, scales to zero nights/weekends
$5.80 / mo (Cost Winner)
$25.00 / mo
$43.80 / mo (Min 0.5 ACU)
B2B SaaS (Business Hours)
160 hrs/mo active, 10GB storage
$18.50 / mo
$25.00 / mo
$58.20 / mo
High-Concurrency 24/7 Production
730 hrs/mo continuous, 100GB storage
$124.00 / mo
$85.00 / mo (Cost Winner)
$186.00 / mo
Hidden Gotchas: Cold Starts vs Connection Pooling
When selecting a serverless database, two engineering trade-offs govern production stability:
Scale-to-Zero Cold Start Latency: Neon spins up suspended compute in 300ms–500ms upon incoming TCP handshakes. While imperceptible for human web page loads, automated cron jobs or serverless lambda invocations can experience brief spikes in p99 latency.
Ephemeral Connection Exhaustion: Serverless Edge Functions (Vercel, Cloudflare Workers) spin up thousands of concurrent micro-containers. Without a managed transaction-mode PgBouncer connection pooler, Postgres will quickly exhaust its max_connections limit. Neon and Supabase both integrate built-in connection pooling at no extra cost.