Neon 是近年火起来的 Serverless Postgres:它把「存储」和「计算」拆开——计算节点无请求时自动休眠、有请求时秒级唤醒,所以空闲不烧钱;它还支持 数据库分支(Branch),像 git 一样复制一份库做开发 / 测试,这对个人开发者极友好。相比 Oracle 永久实例(一台常驻 VM)和 Supabase(带后端的 BaaS),Neon 更像一个「纯数据库、按需唤醒」的轻量底座。
本篇是实测向教程,重点在「免费层给多少」和「哪里会踩坑」。控制台:console.neon.tech。用 GitHub 账号即可登录,免费层无需绑卡(这点比 R2 省心,详见踩坑 1)。
一、免费层额度清单(先看清边界)
Neon 免费层叫 Free plan,2026 年实测到的量级如下:
| 资源 | 免费层额度 | 说明 |
|---|---|---|
| 存储(Storage) | 512 MB | 数据和分支快照都算,超出需升级 |
| 计算(Compute) | 自动休眠 + 唤醒 | 无请求 5 分钟后休眠,首请求唤醒约 1–2 秒 |
| 项目数(Projects) | 无限 | 免费层也允许多项目,比 Supabase 的 2 个宽松 |
| 分支数(Branches) | 10 个 / 项目 | 含主分支;开发 / 预览各开一个很够 |
| 并发连接 | ~20 | 小流量足够;详见踩坑 6 |
⚠️ 踩坑 1 — 免费层无需绑卡,但「计算唤醒」有冷启动。Neon 不要求信用卡即可用免费层,比 R2 友好。代价是计算节点空闲后休眠,第一个请求会冷启动 1–2 秒。高频线上服务要评估这个延迟(见踩坑 4)。
二、适合用它做什么
- 开发 / 测试库:配合分支功能,每个功能拉一个 branch,测完删掉,主库不受污染。
- 低频小产品后端:个人工具、内部小系统,空闲多、偶发访问,休眠机制白省钱。
- Supabase 的「替代 / 补充」:要纯 PG 不受 BaaS 约束时选 Neon;要现成 Auth/存储选 Supabase。
- 不适合:高并发 7×24 生产、超 512MB 数据量、对冷启动零容忍的实时场景。
三、开通全流程(实测步骤)
- 登录控制台。进 console.neon.tech,用 GitHub 授权登录(无需绑卡)。
- 新建项目(Create project)。填项目名,区域选离用户近的(亚洲可选
aws-ap-southeast-1新加坡),Postgres 版本默认最新即可。 - 拿到连接串。项目创建后,
Dashboard直接给出postgresql://user:[email protected]/neondb。注意页面上有 「Pooled connection」 开关——带?pgbouncer=true的是连接池地址,Serverless 环境务必用它(见踩坑 6)。 - 建一张测试表。在
SQL Editor跑建表语句(示例见第四节),或用客户端连上去执行。 - 接入应用。把连接串放进环境变量(不要硬编码进前端),后端代码用它连库。
- (可选)开分支。点
Branches → Create branch,选「基于当前数据」复制一份,用于开发环境,互不影响。
四、最小可跑示例
建表 + Node 连接的极简片段(连接串从环境变量读):
-- SQL Editor 里执行
CREATE TABLE notes (
id SERIAL PRIMARY KEY,
body TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
// db.ts(后端,pg 库)
import { Pool } from 'pg'
const pool = new Pool({
connectionString: process.env.DATABASE_URL // 用 Pooled 地址
})
const { rows } = await pool.query('SELECT * FROM notes LIMIT 5')
console.log(rows)
把 DATABASE_URL 设为 Neon 给的 Pooled 连接串(带 ?pgbouncer=true),部署到 Vercel / Cloudflare Pages 这类 Serverless 平台即可。
五、7 个真实踩坑提醒
⚠️ 踩坑 2 — 512MB 存储含分支快照。您建的分支、做过的
restore 历史都占空间,不是只有主库数据。对策:定期清理无用分支;Storage 页能看到明细,别等到超限才慌。⚠️ 踩坑 3 — 休眠后「首查慢」会让健康检测 / 首访体验差。若您的服务有「探针」或用户首访,冷启动 1–2s 可能被误判超时。对策:用 @neondatabase/serverless 驱动自动管理连接;或对延迟敏感的接口加一个预热请求。
⚠️ 踩坑 4 — 免费层计算有「活跃时长」上限。每个自然月有一定量的「计算活跃小时」配额,超了会让项目 暂停(suspend),需手动在控制台点恢复或升级。对策:真正的长期在线生产别压在免费层,低频场景才稳。
⚠️ 踩坑 5 — 分支是「软复制」,不是无限白嫖。分支共享底层存储,开太多仍计入 10 个上限 + 存储消耗。开发完记得删分支,别堆着。
⚠️ 踩坑 6 — Serverless 连接务必用 Pooled 地址。直接拿普通连接串在 Vercel/Cloudflare Functions 里连,连接数会瞬间打满(函数并发下每个实例开一条长连),报错
too many connections。对策:用带 ?pgbouncer=true 的 Pooled 串,并配合 pg 的连接池。⚠️ 踩坑 7 — 删除项目 / 分支不进回收站。Neon 删除操作立即生效,免费层没有 Supabase 那种 7 天宽限。误删只能从自己的备份恢复。重要库请定期
pg_dump 导出。💡 组合拳:Neon(按需唤醒的 PG) + R2(大文件 / 图片,免流量费) + Vercel(前端 + Serverless 函数) = 几乎零成本的全栈小产品底座,且全程无需预先绑卡(Neon、Vercel Hobby 均免费层免卡)。本站这套教程矩阵正是教您把它拼起来。
六、什么时候该付费
出现下面任一信号说明免费层到顶:数据超 512MB、需要 7×24 不休眠的计算、并发连接远超 20、或要更高的计算规格。Neon 付费按 计算时长 + 存储 计费,透明且可预测,升级不丢数据,平滑过渡。