UStackUStack
Netlify Database icon

Netlify Database

Netlify Database:零配置全托管 Postgres,自动迁移并支持与部署预览联动的数据库分支,便于隔离测试。

Netlify Database

什么是 Netlify Database?

Netlify Database 是内置于 Netlify 平台的完全托管 Postgres 数据库。它为您配置和管理数据库,包括应用迁移并创建与 Netlify 部署流程匹配的数据库分支。

核心目的是让您构建全栈应用,使用关系型数据库保持与代码变更同步——无需手动管理独立的 staging 数据库或手动运行架构更新。

主要特性

  • Netlify 上的完全托管 Postgres:Netlify 处理配置,让您的应用无需搭建基础设施即可开始使用 Postgres 数据库。
  • 与部署绑定的自动迁移:内置迁移系统跟踪仓库中的架构变更,并在生产部署和部署预览期间自动应用。
  • 与部署预览集成的动态数据库分支:部署预览会从生产数据副本创建专属数据库分支。
  • 设计上保护生产访问:仅生产部署可访问主数据库,降低实验影响实时数据风险。
  • 为 AI 工作流提供隔离环境:Agent 运行自动获得专属数据库分支,Netlify 提供“Agent Runners”集成上下文,让代理在隔离环境中处理架构变更和查询。

如何使用 Netlify Database

  1. 创建或选择支持 Netlify Database 的基于积分的 Netlify 计划(Netlify Database 仅适用于基于积分的计划)。
  2. 在仓库中实现架构和迁移,使用文档化的迁移方法;Netlify 将跟踪架构变更,并在部署生命周期的合适节点应用。
  3. 正常部署应用至生产,并通过常规流程创建部署预览(例如,打开拉取请求)。
  4. 使用部署预览安全测试变更:Netlify 会将每个部署预览连接到其专属数据库分支,该分支在预览创建时从生产复制。

使用场景

  • 验证架构变更而不偏离生产:自动迁移在生产部署和部署预览上运行,确保数据库架构匹配部署的代码版本。
  • 安全测试变更数据的新功能:例如,您可在部署预览分支中验证文章删除流程,而不从主生产数据库移除内容。
  • 并行开发中防止跨团队干扰:多个变更并发进行时,独立的部署预览分支让每个预览独立演进,避免单一共享 staging 数据库瓶颈。
  • 快速从不良迁移或查询中恢复:如果实验变更包含意外影响数据的查询,您可重置受影响的数据库分支,而不影响实时站点。
  • 运行具有隔离数据访问的 AI 代理:使用 Agent Runners 时,每个代理运行获得专属数据库分支,确保实验(包括架构变更)不风险破坏生产数据。

常见问题

Netlify Database 适用于所有 Netlify 计划吗?

Netlify Database 仅适用于基于积分的计划。

数据库存储是否消耗积分?

数据库活跃时,会消耗计算和带宽使用的积分。文档还指出,数据库存储空间免费直至 2026 年 7 月 1 日。

架构迁移如何应用?

Netlify Database 包含自动迁移系统,跟踪仓库中的架构变更,并在生产部署和部署预览上自动应用。

部署预览数据隔离如何实现?

部署预览首次创建时,Netlify 为该预览的数据库分支复制生产数据。预览生命周期中的变更不会影响生产数据库。

数据库分支对 AI 代理的作用是什么?

Agent 运行自动连接到专属数据库分支,支持在隔离环境中进行实验和架构迭代。

替代方案

  • 自管 Postgres 加 staging 环境:运行自己的 Postgres 实例(生产 + staging),手动或通过 CI/CD 管理迁移。这可能类似于 Netlify Database 的工作流程,但您通常需要自行处理架构漂移和环境同步。
  • 数据库即服务(托管 Postgres)加独立环境:使用托管 Postgres 提供商,为 staging 和测试创建独立的数据库/架构。您仍需协调类似分支的隔离和迁移时机。
  • 迁移工具加应用管理工作流程:使用迁移框架,通过部署管道应用迁移。这可控制迁移运行时机,但无法自动获得此处所述的部署预览数据库分支。