DEV Community

Alex Spinov
Alex Spinov

Posted on

Neon Has a Free Serverless Postgres That Scales to Zero — Branch Your Database Like Git

The Postgres Hosting Problem

RDS: $15/month minimum, always running. Supabase: great but opinionated. Self-hosted: backups, updates, scaling — all on you.

Neon is serverless Postgres. Scales to zero when idle. Branch your database for development. Free tier: 0.5GB.

What Neon Gives You

Scale to Zero

No traffic? No cost. Your database suspends after 5 minutes of inactivity and cold-starts in ~500ms.

Database Branching

# Create a branch from production — instant, copy-on-write
neonctl branches create --name feature-auth

# Each branch gets its own connection string
# Test migrations without touching production data
Enter fullscreen mode Exit fullscreen mode

Like git branches for your database. Branch from production, test your migration, merge back.

Standard Postgres

import postgres from 'postgres';

const sql = postgres(process.env.DATABASE_URL);

const users = await sql`
  SELECT * FROM users WHERE active = true
`;
Enter fullscreen mode Exit fullscreen mode

It's just Postgres. Every Postgres library works: Prisma, Drizzle, Knex, pg, postgres.js.

Serverless Driver

import { neon } from '@neondatabase/serverless';

const sql = neon(process.env.DATABASE_URL);

export default async function handler(req) {
  const users = await sql`SELECT * FROM users LIMIT 10`;
  return Response.json(users);
}
Enter fullscreen mode Exit fullscreen mode

Works in Cloudflare Workers, Vercel Edge, Deno Deploy — anywhere without TCP support.

Autoscaling

Configure min/max compute. Neon scales up during traffic spikes and back down when idle.

Free Tier

  • 0.5GB storage
  • 1 project, 10 branches
  • Always-available compute
  • Autosuspend after 5 min idle

Why This Matters

Postgres shouldn't cost $15/month for a side project. And testing migrations shouldn't require a separate database. Neon fixes both.


Need to populate your Neon database? Check out my web scraping actors on Apify Store — structured data for import. For custom solutions, email spinov001@gmail.com.

Top comments (0)