neon-vercel-postgres

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Neon & Vercel Serverless Postgres

Neon & Vercel Serverless Postgres

Status: Production Ready Last Updated: 2025-11-21 Dependencies: None Latest Versions:
@neondatabase/serverless@1.0.2
,
@vercel/postgres@0.10.0
,
drizzle-orm@0.44.7
,
neonctl@2.16.1

状态:生产就绪 最后更新:2025-11-21 依赖项:无 最新版本
@neondatabase/serverless@1.0.2
,
@vercel/postgres@0.10.0
,
drizzle-orm@0.44.7
,
neonctl@2.16.1

Quick Start (5 Minutes)

快速开始(5分钟)

1. Choose Your Platform

1. 选择你的平台

Option A: Neon Direct (multi-cloud, Cloudflare Workers, any serverless)
bash
bun add @neondatabase/serverless
Option B: Vercel Postgres (Vercel-only, zero-config on Vercel)
bash
bun add @vercel/postgres
Why this matters:
  • Neon direct gives you multi-cloud flexibility and access to branching API
  • Vercel Postgres gives you zero-config on Vercel with automatic environment variables
  • Both are HTTP-based (no TCP), perfect for serverless/edge environments
选项A:直接使用Neon(多云支持,适用于Cloudflare Workers及所有无服务器环境)
bash
bun add @neondatabase/serverless
选项B:Vercel Postgres(仅适用于Vercel,在Vercel上实现零配置)
bash
bun add @vercel/postgres
为何选择不同选项
  • 直接使用Neon可提供多云灵活性,并支持分支API
  • Vercel Postgres在Vercel上实现零配置,自动配置环境变量
  • 两者均基于HTTP(无TCP),完美适配无服务器/边缘计算环境

2. Get Your Connection String

2. 获取连接字符串

For Neon Direct:
bash
undefined
直接使用Neon时
bash
undefined

https://neon.tech 注册账号

Create a project → Get connection string

创建项目 → 获取连接字符串

Format: postgresql://user:password@ep-xyz-pooler.region.aws.neon.tech/dbname?sslmode=require

格式:postgresql://user:password@ep-xyz-pooler.region.aws.neon.tech/dbname?sslmode=require


**For Vercel Postgres:**
```bash

**使用Vercel Postgres时**:
```bash

In your Vercel project

在你的Vercel项目中执行

vercel postgres create vercel env pull .env.local # Automatically creates POSTGRES_URL and other vars

**CRITICAL:**
- Use **pooled connection string** for serverless (ends with `-pooler.region.aws.neon.tech`)
- Non-pooled connections will exhaust quickly in serverless environments
- Always include `?sslmode=require` parameter
vercel postgres create vercel env pull .env.local # 自动创建POSTGRES_URL及其他环境变量

**关键注意事项**:
- 无服务器环境下请使用**带连接池的连接字符串**(主机名以 `-pooler.region.aws.neon.tech` 结尾)
- 非连接池的连接会在无服务器环境中迅速耗尽资源
- 务必包含 `?sslmode=require` 参数

3. Query Your Database

3. 查询数据库

Neon Direct:
typescript
import { neon } from '@neondatabase/serverless';

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

// Simple query
const users = await sql`SELECT * FROM users WHERE id = ${userId}`;

// Transactions
const result = await sql.transaction([
  sql`INSERT INTO users (name) VALUES (${name})`,
  sql`SELECT * FROM users WHERE name = ${name}`
]);
Vercel Postgres:
typescript
import { sql } from '@vercel/postgres';

// Simple query
const { rows } = await sql`SELECT * FROM users WHERE id = ${userId}`;

// Transactions
const client = await sql.connect();
try {
  await client.sql`BEGIN`;
  await client.sql`INSERT INTO users (name) VALUES (${name})`;
  await client.sql`COMMIT`;
} finally {
  client.release();
}
CRITICAL:
  • Use template tag syntax (
    sql`...`
    ) for automatic SQL injection protection
  • Never concatenate strings:
    sql('SELECT * FROM users WHERE id = ' + id)

直接使用Neon
typescript
import { neon } from '@neondatabase/serverless';

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

// 简单查询
const users = await sql`SELECT * FROM users WHERE id = ${userId}`;

// 事务处理
const result = await sql.transaction([
  sql`INSERT INTO users (name) VALUES (${name})`,
  sql`SELECT * FROM users WHERE name = ${name}`
]);
使用Vercel Postgres
typescript
import { sql } from '@vercel/postgres';

// 简单查询
const { rows } = await sql`SELECT * FROM users WHERE id = ${userId}`;

// 事务处理
const client = await sql.connect();
try {
  await client.sql`BEGIN`;
  await client.sql`INSERT INTO users (name) VALUES (${name})`;
  await client.sql`COMMIT`;
} finally {
  client.release();
}
关键注意事项
  • 使用模板标签语法(
    sql`...`
    )可自动防范SQL注入
  • 切勿拼接字符串:
    sql('SELECT * FROM users WHERE id = ' + id)

Critical Rules

重要规则

Always Do

务必遵守

Use pooled connection strings for serverless environments (
-pooler.
in hostname)
Use template tag syntax for queries (
sql`SELECT * FROM users`
) to prevent SQL injection
Include
sslmode=require
in connection strings
Release connections after transactions (Vercel Postgres manual transactions)
Use Drizzle ORM for edge-compatible TypeScript ORM (not Prisma in Cloudflare Workers)
Set connection string as environment variable (never hardcode)
Use Neon branching for preview environments and testing
Monitor connection pool usage in Neon dashboard
Handle errors with try/catch blocks and rollback transactions on failure
Use
RETURNING
clause for INSERT/UPDATE
to get created/updated data in one query
✅ 无服务器环境下使用带连接池的连接字符串(主机名包含
-pooler.
✅ 查询时使用模板标签语法
sql`SELECT * FROM users`
)以防止SQL注入
✅ 连接字符串中包含
sslmode=require
✅ 事务完成后释放连接(Vercel Postgres手动事务场景)
✅ 边缘兼容的TypeScript ORM请使用Drizzle ORM(Cloudflare Workers中请勿使用Prisma)
✅ 连接字符串设置为环境变量(切勿硬编码)
✅ 预览环境和测试场景使用Neon分支功能
✅ 在Neon控制台中监控连接池使用情况
✅ 使用try/catch块处理错误,失败时回滚事务
✅ INSERT/UPDATE操作使用RETURNING子句,一次查询即可获取创建/更新的数据

Never Do

切勿操作

Never use non-pooled connections in serverless functions (will exhaust connection pool)
Never concatenate SQL strings (
'SELECT * FROM users WHERE id = ' + id
) - SQL injection risk
Never omit
sslmode=require
- connections will fail or be insecure
Never forget to
client.release()
in manual Vercel Postgres transactions - connection leak
Never use Prisma in Cloudflare Workers - requires Node.js runtime (use Drizzle instead)
Never hardcode connection strings - use environment variables
Never run migrations from edge functions - use Node.js environment or Neon console
Never commit
.env
files
- add to
.gitignore
Never use
POSTGRES_URL_NON_POOLING
in serverless functions - defeats pooling
Never exceed connection limits - monitor usage and upgrade plan if needed

❌ 无服务器函数中切勿使用非连接池的连接(会耗尽连接池资源)
切勿拼接SQL字符串
'SELECT * FROM users WHERE id = ' + id
)- 存在SQL注入风险
切勿省略
sslmode=require
- 连接会失败或存在安全隐患
❌ Vercel Postgres手动事务中切勿忘记调用
client.release()
- 会导致连接泄漏
❌ Cloudflare Workers中切勿使用Prisma - 依赖Node.js运行时(请改用Drizzle)
切勿硬编码连接字符串 - 使用环境变量
❌ 边缘函数中切勿执行迁移 - 使用Node.js环境或Neon控制台
切勿提交
.env
文件
- 将其添加到
.gitignore
❌ 无服务器函数中切勿使用
POSTGRES_URL_NON_POOLING
- 失去连接池的作用
切勿超出连接限制 - 监控使用情况,必要时升级套餐

Top 5 Errors (See references/error-catalog.md for all 15)

五大常见错误(所有15种错误请参考references/error-catalog.md)

Error #1: Connection Pool Exhausted

错误1:连接池耗尽

Error:
Error: connection pool exhausted
or
too many connections for role
Solution: Use pooled connection string (ends with
-pooler.region.aws.neon.tech
), not non-pooled
错误信息
Error: connection pool exhausted
too many connections for role
解决方案:使用带连接池的连接字符串(以
-pooler.region.aws.neon.tech
结尾),而非非连接池的连接

Error #2: TCP Connections Not Supported

错误2:不支持TCP连接

Error:
Error: TCP connections are not supported in this environment
Solution: Use
@neondatabase/serverless
(HTTP-based), not
pg
or
postgres.js
(TCP-based)
错误信息
Error: TCP connections are not supported in this environment
解决方案:使用
@neondatabase/serverless
(基于HTTP),而非
pg
postgres.js
(基于TCP)

Error #3: SQL Injection from String Concatenation

错误3:字符串拼接导致SQL注入

Error: Successful SQL injection attack Solution: Always use template tags (
sql`SELECT * FROM users WHERE id = ${id}`
), never concatenate strings
错误情况:SQL注入攻击成功 解决方案:始终使用模板标签(
sql`SELECT * FROM users WHERE id = ${id}`
),切勿拼接字符串

Error #4: Missing SSL Mode

错误4:缺少SSL模式

Error:
Error: connection requires SSL
Solution: Always append
?sslmode=require
to connection string
错误信息
Error: connection requires SSL
解决方案:连接字符串末尾务必添加
?sslmode=require

Error #5: Connection Leak (Vercel Postgres)

错误5:连接泄漏(Vercel Postgres)

Error: Gradually increasing memory usage Solution: Always call
client.release()
in finally block after manual transactions
Load
references/error-catalog.md
for all 15 errors with detailed solutions and troubleshooting guide.

错误现象:内存占用逐渐增加 解决方案:手动事务完成后,务必在finally块中调用
client.release()
所有15种错误及详细解决方案和故障排除指南,请查看
references/error-catalog.md

Common Use Cases

常见使用场景

Use Case 1: Cloudflare Worker with Neon

场景1:Cloudflare Worker搭配Neon

When: Deploying serverless API with Postgres on Cloudflare Workers Quick Pattern:
typescript
import { neon } from '@neondatabase/serverless';

export default {
  async fetch(request: Request, env: Env) {
    const sql = neon(env.DATABASE_URL);
    const users = await sql`SELECT * FROM users`;
    return Response.json(users);
  }
};
Load:
references/common-patterns.md
→ Pattern 1
适用场景:在Cloudflare Workers上部署无服务器API及Postgres 快速示例:
typescript
import { neon } from '@neondatabase/serverless';

export default {
  async fetch(request: Request, env: Env) {
    const sql = neon(env.DATABASE_URL);
    const users = await sql`SELECT * FROM users`;
    return Response.json(users);
  }
};
详情:查看
references/common-patterns.md
→ 模式1

Use Case 2: Next.js Server Actions

场景2:Next.js Server Actions

When: Building Next.js app with Vercel Postgres Quick Pattern:
typescript
'use server';
import { sql } from '@vercel/postgres';

export async function getUsers() {
  const { rows } = await sql`SELECT * FROM users`;
  return rows;
}
Load:
references/common-patterns.md
→ Pattern 2
适用场景:使用Vercel Postgres构建Next.js应用 快速示例:
typescript
'use server';
import { sql } from '@vercel/postgres';

export async function getUsers() {
  const { rows } = await sql`SELECT * FROM users`;
  return rows;
}
详情:查看
references/common-patterns.md
→ 模式2

Use Case 3: Type-Safe Queries with Drizzle

场景3:搭配Drizzle实现类型安全查询

When: Need full TypeScript type safety and edge compatibility Load:
references/common-patterns.md
→ Pattern 3
适用场景:需要完整的TypeScript类型安全及边缘兼容性 详情:查看
references/common-patterns.md
→ 模式3

Use Case 4: Database Transactions

场景4:数据库事务

When: Multiple operations must all succeed or all fail (e.g., money transfers) Load:
references/common-patterns.md
→ Pattern 4
适用场景:多个操作必须全部成功或全部失败(如资金转账) 详情:查看
references/common-patterns.md
→ 模式4

Use Case 5: Preview Environments with Branching

场景5:分支功能实现预览环境

When: Need isolated database for each pull request/preview deployment Load:
references/common-patterns.md
→ Pattern 5

适用场景:为每个拉取请求/预览部署提供独立数据库 详情:查看
references/common-patterns.md
→ 模式5

When to Load References

何时参考文档

Load
references/setup-guide.md
when
:
  • User needs complete 7-step setup process
  • User asks about Drizzle ORM or Prisma integration
  • User needs help with environment variables or connection strings
  • User asks about deployment to Cloudflare Workers or Vercel
Load
references/error-catalog.md
when
:
  • Encountering any connection, query, or deployment errors
  • User reports "connection pool exhausted" or timeout errors
  • User asks about SQL injection prevention
  • User needs troubleshooting for Prisma or Drizzle issues
Load
references/common-patterns.md
when
:
  • User asks for code examples or templates
  • User needs to implement transactions, pagination, or search
  • User asks about Server Actions, Cloudflare Workers, or Drizzle patterns
  • User wants to see production-tested patterns
Load
references/advanced-topics.md
when
:
  • User asks about Neon branching or database workflows
  • User needs connection pooling deep dive
  • User asks about performance optimization or query tuning
  • User needs security best practices (RLS, encryption, audit logging)
  • User asks about backups or disaster recovery

当以下情况时查看
references/setup-guide.md
:
  • 需要完整的7步设置流程
  • 询问Drizzle ORM或Prisma集成相关问题
  • 需要环境变量或连接字符串的配置帮助
  • 询问部署到Cloudflare Workers或Vercel的相关问题
当以下情况时查看
references/error-catalog.md
:
  • 遇到任何连接、查询或部署错误
  • 用户反馈“连接池耗尽”或超时错误
  • 询问SQL注入防护相关问题
  • 需要Prisma或Drizzle的故障排除方案
当以下情况时查看
references/common-patterns.md
:
  • 询问代码示例或模板
  • 需要实现事务、分页或搜索功能
  • 询问Server Actions、Cloudflare Workers或Drizzle相关模式
  • 查看经过生产验证的模式
当以下情况时查看
references/advanced-topics.md
:
  • 询问Neon分支或数据库工作流
  • 需要深入了解连接池
  • 询问性能优化或查询调优
  • 需要安全最佳实践(RLS、加密、审计日志)
  • 询问备份或灾难恢复

Configuration Files Reference

配置文件参考

package.json (Neon Direct)

package.json(直接使用Neon)

json
{
  "dependencies": {
    "@neondatabase/serverless": "^1.0.2"
  }
}
json
{
  "dependencies": {
    "@neondatabase/serverless": "^1.0.2"
  }
}

package.json (Vercel Postgres)

package.json(使用Vercel Postgres)

json
{
  "dependencies": {
    "@vercel/postgres": "^0.10.0"
  }
}
json
{
  "dependencies": {
    "@vercel/postgres": "^0.10.0"
  }
}

package.json (With Drizzle ORM)

package.json(搭配Drizzle ORM)

json
{
  "dependencies": {
    "@neondatabase/serverless": "^1.0.2",
    "drizzle-orm": "^0.44.7"
  },
  "devDependencies": {
    "drizzle-kit": "^0.31.0"
  },
  "scripts": {
    "db:generate": "drizzle-kit generate",
    "db:migrate": "drizzle-kit migrate",
    "db:studio": "drizzle-kit studio"
  }
}
json
{
  "dependencies": {
    "@neondatabase/serverless": "^1.0.2",
    "drizzle-orm": "^0.44.7"
  },
  "devDependencies": {
    "drizzle-kit": "^0.31.0"
  },
  "scripts": {
    "db:generate": "drizzle-kit generate",
    "db:migrate": "drizzle-kit migrate",
    "db:studio": "drizzle-kit studio"
  }
}

drizzle.config.ts

drizzle.config.ts

typescript
import { defineConfig } from 'drizzle-kit';

export default defineConfig({
  schema: './db/schema.ts',
  out: './db/migrations',
  dialect: 'postgresql',
  dbCredentials: {
    url: process.env.DATABASE_URL!
  }
});
Why these settings:
  • @neondatabase/serverless
    is edge-compatible (HTTP/WebSocket-based)
  • @vercel/postgres
    provides zero-config on Vercel
  • drizzle-orm
    works in all runtimes (Cloudflare Workers, Vercel Edge, Node.js)
  • drizzle-kit
    handles migrations and schema generation

typescript
import { defineConfig } from 'drizzle-kit';

export default defineConfig({
  schema: './db/schema.ts',
  out: './db/migrations',
  dialect: 'postgresql',
  dbCredentials: {
    url: process.env.DATABASE_URL!
  }
});
为何选择这些配置:
  • @neondatabase/serverless
    兼容边缘环境(基于HTTP/WebSocket)
  • @vercel/postgres
    在Vercel上实现零配置
  • drizzle-orm
    支持所有运行时(Cloudflare Workers、Vercel Edge、Node.js)
  • drizzle-kit
    处理迁移和 schema 生成

Using Bundled Resources

使用捆绑资源

Templates (templates/)

模板(templates/)

drizzle-schema.ts - Complete Drizzle schema with users, posts, relations
typescript
// See templates/drizzle-schema.ts for full example
drizzle-queries.ts - Common query patterns (SELECT, INSERT, UPDATE, DELETE, joins)
typescript
// See templates/drizzle-queries.ts for full example
drizzle-migrations-workflow.md - Complete migration workflow guide
markdown
// See templates/drizzle-migrations-workflow.md for full guide
neon-basic-queries.ts - Raw SQL query patterns with Neon
typescript
// See templates/neon-basic-queries.ts for full example
package.json - Complete dependency configuration
json
// See templates/package.json for full config
drizzle-schema.ts - 包含用户、帖子及关联关系的完整Drizzle schema
typescript
// 完整示例请查看templates/drizzle-schema.ts
drizzle-queries.ts - 常见查询模式(SELECT、INSERT、UPDATE、DELETE、关联查询)
typescript
// 完整示例请查看templates/drizzle-queries.ts
drizzle-migrations-workflow.md - 完整的迁移工作流指南
markdown
// 完整指南请查看templates/drizzle-migrations-workflow.md
neon-basic-queries.ts - Neon原生SQL查询模式
typescript
// 完整示例请查看templates/neon-basic-queries.ts
package.json - 完整的依赖配置
json
// 完整配置请查看templates/package.json

References (references/)

参考文档(references/)

  • setup-guide.md - Complete 7-step setup process (installation → deployment)
  • error-catalog.md - All 15 errors with solutions and troubleshooting
  • common-patterns.md - 5+ production patterns (Cloudflare Workers, Next.js, Drizzle, transactions, branching)
  • advanced-topics.md - Branching workflows, connection pooling, performance, security

  • setup-guide.md - 完整的7步设置流程(安装 → 部署)
  • error-catalog.md - 所有15种错误及解决方案、故障排除
  • common-patterns.md - 5+种生产验证模式(Cloudflare Workers、Next.js、Drizzle、事务、分支)
  • advanced-topics.md - 分支工作流、连接池、性能优化、安全

Dependencies

依赖项

Required:
  • @neondatabase/serverless@^1.0.2
    - Neon serverless Postgres client (HTTP/WebSocket-based)
  • @vercel/postgres@^0.10.0
    - Vercel Postgres client (alternative to Neon direct, Vercel-specific)
Optional:
  • drizzle-orm@^0.44.7
    - TypeScript ORM (edge-compatible, recommended)
  • drizzle-kit@^0.31.0
    - Drizzle schema migrations and introspection
  • @prisma/client@^6.10.0
    - Prisma ORM (Node.js only, not edge-compatible)
  • @prisma/adapter-neon@^6.10.0
    - Prisma adapter for Neon serverless
  • neonctl@^2.16.1
    - Neon CLI for database management
  • zod@^3.24.0
    - Schema validation for input sanitization

必填:
  • @neondatabase/serverless@^1.0.2
    - Neon无服务器Postgres客户端(基于HTTP/WebSocket)
  • @vercel/postgres@^0.10.0
    - Vercel Postgres客户端(Neon直接使用的替代方案,仅适用于Vercel)
可选:
  • drizzle-orm@^0.44.7
    - TypeScript ORM(兼容边缘环境,推荐使用)
  • drizzle-kit@^0.31.0
    - Drizzle schema迁移和自省工具
  • @prisma/client@^6.10.0
    - Prisma ORM(仅支持Node.js,不兼容边缘环境)
  • @prisma/adapter-neon@^6.10.0
    - Prisma Neon无服务器适配器
  • neonctl@^2.16.1
    - Neon数据库管理CLI
  • zod@^3.24.0
    - 输入验证schema工具

Official Documentation

官方文档



Package Versions (Verified 2025-10-29)

包版本(2025-10-29已验证)

json
{
  "dependencies": {
    "@neondatabase/serverless": "^1.0.2",
    "@vercel/postgres": "^0.10.0",
    "drizzle-orm": "^0.44.7"
  },
  "devDependencies": {
    "drizzle-kit": "^0.31.0",
    "neonctl": "^2.16.1"
  }
}
Latest Prisma (if needed):
json
{
  "dependencies": {
    "@prisma/client": "^6.10.0",
    "@prisma/adapter-neon": "^6.10.0"
  },
  "devDependencies": {
    "prisma": "^6.10.0"
  }
}

json
{
  "dependencies": {
    "@neondatabase/serverless": "^1.0.2",
    "@vercel/postgres": "^0.10.0",
    "drizzle-orm": "^0.44.7"
  },
  "devDependencies": {
    "drizzle-kit": "^0.31.0",
    "neonctl": "^2.16.1"
  }
}
最新Prisma版本(如需使用):
json
{
  "dependencies": {
    "@prisma/client": "^6.10.0",
    "@prisma/adapter-neon": "^6.10.0"
  },
  "devDependencies": {
    "prisma": "^6.10.0"
  }
}

Production Example

生产示例

This skill is based on production deployments of Neon and Vercel Postgres:
  • Cloudflare Workers: API with 50K+ daily requests, 0 connection errors
  • Vercel Next.js App: E-commerce site with 100K+ monthly users
  • Build Time: <5 minutes (initial setup), <30s (deployment)
  • Errors: 0 (all 15 known issues prevented)
  • Validation: ✅ Connection pooling, ✅ SQL injection prevention, ✅ Transaction handling, ✅ Branching workflows

本技能基于Neon和Vercel Postgres的生产部署实践:
  • Cloudflare Workers: 日请求量5万+的API,无连接错误
  • Vercel Next.js应用: 月活10万+的电商网站
  • 构建时间: 初始设置<5分钟,部署<30秒
  • 错误率: 0(已防范所有15种已知问题)
  • 验证项: ✅ 连接池, ✅ SQL注入防护, ✅ 事务处理, ✅ 分支工作流

Complete Setup Checklist

完整设置检查清单

Use this checklist to verify your setup:
  • Package installed (
    @neondatabase/serverless
    or
    @vercel/postgres
    )
  • Neon database created (or Vercel Postgres provisioned)
  • Pooled connection string obtained (ends with
    -pooler.
    )
  • Connection string includes
    ?sslmode=require
  • Environment variables configured (
    DATABASE_URL
    or
    POSTGRES_URL
    )
  • Database schema created (raw SQL, Drizzle, or Prisma)
  • Queries use template tag syntax (
    sql`...`
    )
  • Transactions use proper try/catch and release connections
  • Connection pooling verified (using pooled connection string)
  • ORM choice appropriate for runtime (Drizzle for edge, Prisma for Node.js)
  • Tested locally with dev database
  • Deployed and tested in production/preview environment
  • Connection monitoring set up in Neon dashboard

Questions? Issues?
  1. Check
    references/error-catalog.md
    for all 15 errors and troubleshooting
  2. Review
    references/setup-guide.md
    for complete 7-step setup process
  3. See
    references/common-patterns.md
    for production-tested code examples
  4. Check official docs: https://neon.tech/docs
  5. Ensure you're using pooled connection string for serverless environments
  6. Verify
    sslmode=require
    is in connection string
使用此清单验证你的设置:
  • 已安装包(
    @neondatabase/serverless
    @vercel/postgres
  • 已创建Neon数据库(或已配置Vercel Postgres)
  • 已获取带连接池的连接字符串(以
    -pooler.
    结尾)
  • 连接字符串包含
    ?sslmode=require
  • 已配置环境变量(
    DATABASE_URL
    POSTGRES_URL
  • 已创建数据库schema(原生SQL、Drizzle或Prisma)
  • 查询使用模板标签语法(
    sql`...`
  • 事务使用正确的try/catch并释放连接
  • 已验证连接池配置(使用带连接池的连接字符串)
  • ORM选择与运行时匹配(边缘环境用Drizzle,Node.js用Prisma)
  • 已使用开发数据库本地测试
  • 已部署并在生产/预览环境中测试
  • 已在Neon控制台中设置连接监控

有疑问?遇到问题?
  1. 查看
    references/error-catalog.md
    获取所有15种错误及故障排除方案
  2. 查看
    references/setup-guide.md
    获取完整的7步设置流程
  3. 查看
    references/common-patterns.md
    获取经过生产验证的代码示例
  4. 查看官方文档: https://neon.tech/docs
  5. 确保无服务器环境下使用带连接池的连接字符串
  6. 验证连接字符串中包含
    sslmode=require