【DB9.ai】- 面向 AI Agent 的无服务器 PostgreSQL

DB9 深度解读:面向 AI Agent 的无服务器 PostgreSQL

本文基于 DB9 官网Quick Start 文档 整理,并补充 ArchitectureWhy DB9 for AI Agents 中的架构与设计说明,便于技术团队评估与落地。


目录

[DB9 深度解读:面向 AI Agent 的无服务器 PostgreSQL](#DB9 深度解读:面向 AI Agent 的无服务器 PostgreSQL)

[1. 产生背景与架构](#1. 产生背景与架构)

[1.1 为什么需要 DB9?](#1.1 为什么需要 DB9?)

[1.2 核心架构(控制面 / 数据面 / 存储)](#1.2 核心架构(控制面 / 数据面 / 存储))

[2. 快速使用](#2. 快速使用)

[2.1 路径一:CLI(终端优先)](#2.1 路径一:CLI(终端优先))

[2.2 路径二:TypeScript SDK(程序化)](#2.2 路径二:TypeScript SDK(程序化))

[2.3 路径三:Agent 一键接入](#2.3 路径三:Agent 一键接入)

[2.4 官方推荐的下一步阅读](#2.4 官方推荐的下一步阅读)

[3. 应用场景](#3. 应用场景)

[3.1 记忆与个人助手 / 客服副驾](#3.1 记忆与个人助手 / 客服副驾)

[3.2 研发文档与编码 Agent(RAG / 知识库)](#3.2 研发文档与编码 Agent(RAG / 知识库))

[3.3 自动化、报表与多 Agent 协作](#3.3 自动化、报表与多 Agent 协作)

[3.4 平台与工程化场景](#3.4 平台与工程化场景)

[4. 集成周边生态](#4. 集成周边生态)

[4.1 PostgreSQL 生态](#4.1 PostgreSQL 生态)

[4.2 AI 与 Agent 工具链](#4.2 AI 与 Agent 工具链)

[4.3 内建「替代拼图」能力(减少外部系统)](#4.3 内建「替代拼图」能力(减少外部系统))

[4.4 浏览器与公开数据访问](#4.4 浏览器与公开数据访问)

[5. 注意事项](#5. 注意事项)

[5.1 连接与安全](#5.1 连接与安全)

[5.2 账号与配额](#5.2 账号与配额)

[5.3 命令行与本地环境](#5.3 命令行与本地环境)

[5.4 兼容性与事务语义](#5.4 兼容性与事务语义)

[5.5 文件与嵌入能力限额(示例)](#5.5 文件与嵌入能力限额(示例))

结语


1. 产生背景与架构

1.1 为什么需要 DB9?

传统数据库多为「长生命周期应用 + 人工运维」设计,而 AI Agent 的工作方式截然不同:需要在秒级内按需创建数据库、在同一后端完成语义检索与结构化存储、读写文件、从 SQL 调用外部 API、安全地做实验性分支,以及内建定时任务------若全部拆成「PostgreSQL + 向量库 + 对象存储 + 编排 + Cron」,集成与运维成本会急剧上升。

DB9 的定位是 「Postgres but for agents」 :在保持 PostgreSQL 协议与生态兼容 的前提下,把 Agent 常见需求以 编译进数据库的扩展能力 交付,减少旁路服务与胶水代码。官网概括为:需要算力时用 SQL,需要简单时用文件操作一个数据库,统一接口 (详见 db9.ai)。

1.2 核心架构(控制面 / 数据面 / 存储)

根据官方 Architecture 文档,DB9 的整体模型可概括为:

层次 组件 职责
客户端 psql、ORM、各类驱动、TypeScript SDK、db9 CLI、Browser SDK 等 发起管理与查询请求
控制面 db9-backend(REST API,如 Axum 应用) 数据库生命周期、认证与 Token、分支、迁移、可观测性等
数据面 db9-server(异步 Rust / Tokio,PostgreSQL 线协议) SQL 解析、优化、执行;扩展(fs9、HTTP、embedding、向量、pg_cron 等);Worker 队列
存储 TiKV(分布式 KV,Raft + 事务) 每个 DB9 数据库对应独立 keyspace,多租户在存储层隔离

查询路径(简化):SQL 文本 → 解析(如 sqlparser-rs)→ 分析 / 优化 → 基于迭代器模型的执行器 → 通过 TiKV 客户端读写 → 经 pgwire 返回结果。

多租户隔离 :连接用户名形如 tenant_id.roledb9-server 解析租户 ID 并绑定到对应 keyspace,不存在跨租户查询路径

当前架构边界 (官方明确列为设计阶段限制,而非「缺陷」):例如单进程单节点执行、无跨多 db9-server 的分布式查询、并行查询与部分 PostgreSQL 能力(如 FDW、逻辑复制、部分 GIN 运行时行为等)不支持或有限制------选型时需对照 SQL limitsCompatibility Matrix


2. 快速使用

以下三条路径与 Quick Start 一致,可按团队习惯选择。

2.1 路径一:CLI(终端优先)

安装(macOS / Linux,x86_64 / arm64):

复制代码
curl -fsSL https://db9.ai/install | sh

自定义安装目录示例:

复制代码
DB9_INSTALL_DIR="$HOME/.local/bin" curl -fsSL https://db9.ai/install | sh

验证:db9 --version

macOS 文件挂载 :若使用 db9 fs mount,需先安装 macFUSE(如 brew install --cask macfuse),并在 Apple Silicon 上按需于「系统设置 → 隐私与安全性」批准系统扩展。

创建数据库(首次使用会自动注册匿名账号,无需单独注册):

复制代码
db9 create --name myapp

执行 SQL (一次性或进入交互 REPL,行为类似 psql):

复制代码
db9 db sql myapp -q "SELECT 'hello from db9' AS greeting"
db9 db sql myapp

连接信息 (供 psql、ORM 或任意 PostgreSQL 客户端):

复制代码
db9 db connect myapp
db9 create --name myapp --show-connection-string
db9 db connect-token myapp

常用自检

复制代码
db9 status
db9 list

2.2 路径二:TypeScript SDK(程序化)

安装:npm install get-db9

使用 instantDatabase() 创建(或按名称复用已有库)并可选 seed 初始化 schema:

复制代码
import { instantDatabase } from 'get-db9';
​
const db = await instantDatabase({
  name: 'myapp',
  seed: `
    CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);
    INSERT INTO users (name) VALUES ('alice'), ('bob');
  `,
});
​
console.log(db.databaseId);
console.log(db.connectionString);
console.log(db.adminUser);

随后用返回的 connectionString 配合 pg 等任意 PostgreSQL 客户端使用。instantDatabase() 对同名库 幂等:已存在则不会重复执行 seed。

2.3 路径三:Agent 一键接入

为 Claude Code、Codex、OpenCode 等安装技能说明,使 Agent 能自主使用 CLI:

复制代码
db9 onboard --agent claude
db9 onboard --all
db9 onboard --agent claude --dry-run   # 仅预览

作用域:--scope user(默认,全局)、--scope project(当前项目)、--scope both

此外,Agent 也可直接阅读官方技能说明:https://db9.ai/skill.md

2.4 官方推荐的下一步阅读


3. 应用场景

结合官网场景划分与 Why DB9 for AI Agents,典型用法包括:

3.1 记忆与个人助手 / 客服副驾

  • 结构化状态 放在 Postgres 表(如 agent_idkindfile_pathtopic)。

  • 原始上下文、会话快照、长文本 以文件形式存放在同一工作区,通过元数据表关联。

  • 实现「表里查索引,盘里读原文」的统一后端。

3.2 研发文档与编码 Agent(RAG / 知识库)

  • 源文档保留在文件系统路径下。

  • 分块、元数据、向量 存入 Postgres,用 SQL 做过滤与相似度检索(内建 embedding() 与向量算子,减少独立向量流水线)。

  • 适合「知识在文件,检索在 SQL」的 Agent 流水线。

3.3 自动化、报表与多 Agent 协作

  • 报告、轨迹、产物 持久化为文件(如 /runs/42/report.md)。

  • 运行历史、状态、元数据 在表中查询与聚合。

  • 配合 分支 做隔离实验,配合 pg_cron 做周期性同步、清理或回调。

3.4 平台与工程化场景

官方架构文档指出,DB9 较适合:Agent 与自动化负载 (快速开通、按任务隔离、内建能力多)、多租户 SaaS (keyspace 级隔离)、开发与 CI (分支与一次性数据库为一等公民)、以及 能落在单节点执行模型内 的工作负载。若强依赖跨节点分布式分析或特定 PG 扩展,需对照兼容性文档评估。


4. 集成周边生态

4.1 PostgreSQL 生态

  • 通过标准 PostgreSQL 线协议 连接:*sqlpsql、主流 ORM 与驱动均可对接(注意 TLS,见下文注意事项)。

  • 官网提及 600+ ORM 测试 通过及 db9 gen types 生成 TypeScript / Python 类型(详见官网与 CLI 文档)。

4.2 AI 与 Agent 工具链

  • Claude Code、OpenAI Codex、Cursor、Cline、VS Code、OpenCode、OpenClaw、Vercel 等在官网列为可配合栈;通过 db9 onboard 或阅读 skill.md 完成 Agent 侧引导。

  • 插件示例 :如 OpenClaw 相关 my-claw-dash (将事件写入 DB9、JSONL 审计等),说明见 https://db9.ai/plugins/my-claw-dash.md

4.3 内建「替代拼图」能力(减少外部系统)

在 SQL 层即可组合使用(具体以 Extensions 为准):

  • 向量与语义embedding()vector 类型、HNSW、距离算子。

  • 文件 :fs9(SQL 读写 CSV / JSONL / Parquet 等)+ CLI db9 fs cp / mount

  • 出站 HTTPhttp_get / http_post 等(有 SSRF、并发、超时、体积等默认安全边界)。

  • 定时任务 :pg_cron / db9 db cron

  • 环境分支db9 branch create 等,克隆表、文件、Cron、权限等(以官方文档为准)。

4.4 浏览器与公开数据访问

  • Browser SDK 支持客户端场景,结合 RLS 与发布密钥等机制(详见文档)。

5. 注意事项

5.1 连接与安全

  • 必须使用 TLS :客户端需支持 sslmode=require 或等价配置;若出现连接被拒绝或超时,优先检查 TLS 与网络(参见 Connect)。

  • HTTP 扩展 :默认 仅 HTTPS、屏蔽私网与回环 IP(防 SSRF)、单语句请求数与并发、响应/请求体大小与超时等限制------生产集成前应在预发环境验证配额与行为。

5.2 账号与配额

  • 匿名账号 首次使用自动注册;Quick Start 说明匿名用户 最多创建 5 个数据库 ,超出需执行 db9 claim 通过 SSO 升级以解除限制。

  • CLI 与 SDK 的凭据会 缓存在本机,注意工作区与 CI 密钥管理。

5.3 命令行与本地环境

  • 若提示 db9: command not found ,将安装目录加入 PATH,例如: export PATH="$HOME/.local/bin:$PATH"

  • macOS + FUSE :挂载前安装并授权 macFUSE,否则 db9 fs mount 可能失败。

5.4 兼容性与事务语义

  • 默认隔离级别对应 快照隔离(与 PostgreSQL REPEATABLE READ 层面的体验相关) ;文档说明 Serializable 语法可能被降级 ,且 与 PostgreSQL SSI 不完全一致 ------有强一致事务需求时需细读 Architecture 与 SQL 文档。

  • 扩展为编译进二进制 ,非任意加载 C 扩展;不支持 FDW、逻辑复制 等,请用 HTTP 扩展或分支 / API 做数据搬迁。

  • GIN、并行查询、跨节点分布式执行 等存在明确边界,上线前对照 SQL limitsProduction Checklist

5.5 文件与嵌入能力限额(示例)

官方在 Agent 向文档中给出过 单文件大小、单次读取预算、嵌入并发 等默认值(如 fs9 单文件 100 MB 、嵌入默认 5 路并发 等)。这些可能随版本调整,以当前官方 Extensions / 运维文档为准


结语

DB9 将 PostgreSQL 协议、TiKV 多租户隔离面向 Agent 的内建能力 (文件、向量、HTTP、Cron、分支)打包为统一后端,适合希望 减少微服务数量、让 Agent 用 SQL + CLI 完成闭环 的团队。落地时建议:先跑通 Quick Start → 阅读 Connect 与 Extensions → 用生产清单核对认证、可观测性与限制


参考链接

相关推荐
新缸中之脑40 分钟前
AI工程师成长路线图 (2026)
人工智能
商业数据派40 分钟前
快手估值重构的“隐藏彩蛋”
大数据·人工智能·重构
新缸中之脑44 分钟前
你的智能体技术栈中缺失的层
大数据·人工智能·数据挖掘
呆呆敲代码的小Y1 小时前
UnityMCP+Claude+VSCode,构建最强AI游戏开发环境
人工智能·vscode·游戏·unity·游戏引擎·u3d·mcp
balmtv1 小时前
Claude 3.5镜像深度推理实战:用AI破解复杂逻辑谜题与数学证明
人工智能
BPM6661 小时前
2026 AI流程管理软件选型:从BPM到iBPM,如何构建可分析、可优化、可执行的流程平台
人工智能
wggmrlee2 小时前
AI技术架构全局视角
人工智能·架构
peachSoda72 小时前
前端想转AI全栈-初步练习记录
前端·人工智能
福客AI智能客服2 小时前
电商AI客服:自动客服机器人如何成为企业效率提升的关键
人工智能·机器人
Data-Miner2 小时前
46页精品PPT | AI智能中台企业架构设计_重新定义制造
人工智能·制造