name: neondb-serverless description: 使用 Neon 无服务器 PostgreSQL,具备分支、连接池和即时扩展性,适用于现代应用程序,并与 Prisma 或 Drizzle ORM 集成。当设置无服务器 PostgreSQL 数据库、为预览环境实施数据库分支、配置连接池、优化无服务器冷启动、将 Prisma 与 Neon 结合使用、实施数据库迁移、自动扩展数据库,或在 Vercel/Netlify 上构建带有 PostgreSQL 的应用程序时使用。
NeonDB 无服务器 - 适用于现代应用的 PostgreSQL
何时使用此技能
- 设置无服务器 PostgreSQL 数据库
- 为预览实施数据库分支
- 为无服务器配置连接池
- 优化数据库以应对冷启动
- 在 Neon 中使用 Prisma 或 Drizzle ORM
- 实施自动化数据库迁移
- 自动扩展数据库,无需人工干预
- 在 Vercel 上构建带有 PostgreSQL 的 Next.js 应用
- 为每个 Git 分支创建预览数据库
- 实施即时数据库回滚
- 在无服务器函数中使用 PostgreSQL
- 优化边缘函数的连接管理
何时使用此技能
- 使用 NeonDB 无服务器 PostgreSQL、实施连接池或构建边缘兼容的数据库应用。
- 在处理相关任务或功能时
- 在需要此专业知识的开发过程中
使用时:使用 NeonDB 无服务器 PostgreSQL、实施连接池或构建边缘兼容的数据库应用。
关键模式
连接池(关键!)
import { Pool } from '@neondatabase/serverless';
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
export async function query(text: string, params: any[]) {
const client = await pool.connect();
try {
return await client.query(text, params);
} finally {
client.release();
}
}
边缘运行时兼容
import { neon } from '@neondatabase/serverless';
const sql = neon(process.env.DATABASE_URL!);
export const runtime = 'edge';
export async function GET() {
const users = await sql`SELECT * FROM users`;
return Response.json(users);
}