| name | neon |
| title | Neon (Serverless Postgres) |
| category | Backend & Data |
| description | Use to connect an app to serverless Postgres with pooled connections, the HTTP serverless driver, and database branching for previews. |
| tags | ["postgres","serverless","database","branching","connection-pooling","edge"] |
| official_docs | https://neon.com/docs |
| sources | ["https://neon.com/docs/get-started-with-neon/connect-neon","https://neon.com/docs/connect/connection-pooling","https://neon.com/docs/guides/branching-intro"] |
| last_verified | 2026-08-10T00:00:00.000Z |
Neon — Skillship
Serverless Postgres that separates storage from compute: scales to zero, connects over HTTP from
edge/serverless, and gives every branch a full copy-on-write database.
🧭 When to use this skill
- Use when: you want managed Postgres for serverless/edge apps (Vercel, Workers, Lambda).
- Use when: you want a fresh database branch per PR/preview deployment.
- Don't use for: workloads needing persistent long-lived sessions with heavy
LISTEN/NOTIFY on the pooler.
⚡ Quickstart
1. Get your connection string
From Project Dashboard → Connect, copy the string. It looks like:
postgresql://user:pass@ep-cool-darkness-a1b2c3d4.us-east-2.aws.neon.tech/dbname?sslmode=require
2. Configure env
DATABASE_URL="postgresql://user:pass@ep-xxxx-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require"
3. Minimal working example (serverless driver — works on edge)
import { neon } from "@neondatabase/serverless";
const sql = neon(process.env.DATABASE_URL!);
const users = await sql`SELECT * FROM users WHERE id = ${id}`;
🧩 Common recipes
Recipe: Pooled vs direct connection (this is the #1 gotcha)
Direct: ep-cool-darkness-123456.us-east-2.aws.neon.tech
Pooled: ep-cool-darkness-123456-pooler.us-east-2.aws.neon.tech <-- add "-pooler"
| Use case | Connection |
|---|
| Serverless functions, web apps, connection-per-request | Pooled |
Schema migrations, pg_dump, logical replication, session-level SET | Direct |