管理 Neon 无服务器 Postgres 数据库。创建项目、分支、数据库并执行查询。适用于需要持久存储的代理工作流,支持分支(类似数据库的 Git)、零扩展和即时配置。
NeonDB.是一项面向实际任务的技能,主要用于Neon是没有服务器的 Postgres —— 缩放为零, 分支如 git, 即时提供.;Perfect for AI 代理需要数据库而无需操作管理费.;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Neon 是无服务器 Postgres —— 可缩容至零、支持类似 Git 的分支机制、实例秒级创建。非常适合需要数据库能力但又不想承担运维负担的 AI 智能体(AI agents)。
# Homebrew(推荐) brew install neonctl # 或使用 npm npm i -g neonctl
# 交互式登录(自动打开浏览器) neonctl auth # 或使用 API 密钥登录(密钥可从 console.neon.tech 获取) export NEON_API_KEY=your_api_key_here
neonctl projects create --name "my-agent-db"
# 列出所有项目 neonctl projects list # 创建项目 neonctl projects create --name "project-name" # 删除项目 neonctl projects delete# 获取项目详情 neonctl projects get
# 列出分支 neonctl branches list --project-id# 创建分支(从 main 分支 Fork) neonctl branches create --project-id --name "dev-branch" # 从指定时间点创建分支 neonctl branches create --project-id --name "restore-test" --parent main --timestamp "2024-01-15T10:00:00Z" # 将分支重置为其父分支 neonctl branches reset --project-id --parent # 删除分支 neonctl branches delete --project-id # 对比两个分支的 Schema 差异 neonctl branches schema-diff --project-id --base-branch main --compare-branch dev
# 列出数据库 neonctl databases list --project-id--branch # 创建数据库 neonctl databases create --project-id --branch --name "mydb" # 删除数据库 neonctl databases delete --project-id --branch
# 获取连接字符串(默认分支) neonctl connection-string --project-id# 获取指定分支的连接字符串 neonctl connection-string --project-id # 使用连接池的连接字符串(推荐用于无服务器场景) neonctl connection-string --project-id --pooled # 扩展格式(包含全部字段信息) neonctl connection-string --project-id --extended
# 列出角色 neonctl roles list --project-id--branch # 创建角色 neonctl roles create --project-id --branch --name "app_user"
# 获取连接字符串并直接连接 neonctl connection-string --project-id| xargs psql # 或直接嵌入调用 psql "$(neonctl connection-string --project-id )"
# 获取连接字符串 CONNECTION_STRING=$(neonctl connection-string --project-id--pooled) # 在任意 Postgres 客户端中使用 psql "$CONNECTION_STRING" -c "SELECT * FROM users LIMIT 5;"
设置上下文后,后续命令将自动使用该 project,无需每次指定 --project-id:
# 设置项目上下文 neonctl set-context --project-id# 此后命令将自动使用该 project neonctl branches list neonctl databases list neonctl connection-string
# 为组织创建项目 neonctl projects create --name "website-org-db" -o json # 创建生产分支(main 默认已存在) # 创建用于测试的 dev 分支 neonctl branches create --name "dev" --project-id# 获取连接字符串 neonctl connection-string main --project-id --pooled # 用于生产环境 neonctl connection-string dev --project-id --pooled # 用于开发环境
# 连接并创建表结构 psql "$(neonctl cs --project-id)" < 为实验创建分支
# 创建分支用于测试 Schema 变更 neonctl branches create --name "schema-experiment" --project-id# 在该分支上测试变更 psql "$(neonctl cs schema-experiment --project-id )" -c "ALTER TABLE leads ADD COLUMN score INT;" # 若变更成功,则合并至 main;否则直接删除该分支 neonctl branches delete schema-experiment --project-id 输出格式
# JSON 格式(便于程序解析) neonctl projects list -o json # YAML 格式 neonctl projects list -o yaml # 表格格式(默认,适合人工阅读) neonctl projects list -o table环境变量
# API 密钥(若未使用 `neonctl auth` 登录,则必须设置) export NEON_API_KEY=your_key # 默认项目 ID(可作为 set-context 的替代方案) export NEON_PROJECT_ID=your_project_id常用模式
检查 neonctl 是否已正确配置
neonctl me -o json 2>/dev/null && echo "Authenticated" || echo "Need to run: neonctl auth"快速执行数据库查询
# 单行查询语句 psql "$(neonctl cs)" -c "SELECT COUNT(*) FROM leads WHERE status='contacted';"导出为 CSV
psql "$(neonctl cs)" -c "COPY (SELECT * FROM leads) TO STDOUT WITH CSV HEADER" > leads.csv从 CSV 导入数据
psql "$(neonctl cs)" -c "COPY leads(business_name,category,location) FROM 'import.csv' WITH CSV HEADER"故障排查
"Connection refused"
- 检查分支的计算资源是否处于活跃状态(scale-to-zero 可能已暂停)
- 无服务器工作负载请使用
--pooled连接字符串"Permission denied"
- 验证 API 密钥:运行
neonctl me- 重新认证:运行
neonctl auth首次连接较慢
- 属于 scale-to-zero 的正常现象;首次连接会唤醒计算资源(约 1–2 秒)
- 建议启用连接池以维持“热”连接
相关链接
- Neon Console — Web 控制台
- API Docs — REST API 文档
- CLI Reference — CLI 完整文档
- GitHub — CLI 源码仓库
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习