Neon Postgres 实践指南
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/neon-postgres-zh。
技能介绍
要解决什么问题
在 Neon 这类 serverless Postgres 上跑应用时,常见矛盾是:运行时希望用连接池扛高并发,而 Prisma Migrate 等 DDL 又必须走能执行完整会话语义的直连。边缘或无服务器环境里,传统 TCP 长连接也不总是合适,需要区分 Prisma、Drizzle 各自的连接方式。
技能如何组织内容
技能按三条主线说明配置方式:
- Prisma:使用两个连接字符串——
DATABASE_URL给 Prisma Client 走池化端点,DIRECT_URL给迁移走直连;池化侧通过 PgBouncer 支撑高并发连接。 - Drizzle:在边缘场景配合 Neon 的 Serverless Driver;
neon-http适合单次 HTTP 查询,neon-serverless(WebSocket)适合需要事务与会话的场景。 - 连接池:说明 Neon 内置 PgBouncer 的容量与预留连接(如为超级用户预留连接),并强调应用用池化、迁移用直连这一分工。
文末以「易踩的坑」表格形式归纳常见问题与严重度,便于对照官方文档排查。
适用边界与注意点
池化端点不能替代迁移所需的直连;连接池上限很高,但底层 Postgres 连接仍会被占用。若团队混用 ORM 与 serverless 运行时,需要按环境选对 driver,而不是共用一套「万能」连接串。
使用场景
- 在 Vercel 边缘函数里用 Prisma 连 Neon,迁移在 CI 报错而线上查询正常,需要区分池化与直连连接串
- 新项目选 Drizzle 部署到 Cloudflare Workers,要在 `neon-http` 与 `neon-serverless` 之间按是否用事务做选型
- 把本地 Postgres 迁到 Neon 后压测前,要核对 PgBouncer 池化端点与直连端点分别给应用和 Migrate 用
- 生产环境 `.env` 里同时维护 `DATABASE_URL` 与 `DIRECT_URL`,避免把 DDL 误打到池化连接上
适合人员
- 用 Next.js + Prisma 部署到 Neon、经常在预览环境遇到迁移与运行时连接不一致的全栈工程师
- 在无服务器或边缘运行时维护 Drizzle 代码库、需要按查询形态选 Neon Serverless Driver 的后端开发
- 负责 Neon 项目上线前连接池与直连分工评审、担心迁移占满底层连接的后端或平台工程师
- 从自建 Postgres 切到 Neon 时,要按官方模式改 ORM 配置而非沿用单连接串的技术负责人