用途:为 Netlify 应用提供零配置托管 Postgres。安装 @netlify/database,在 netlify/database/migrations/ 下编写迁移文件并部署后,Netlify 会自动开通数据库并应用迁移。
主要能力:通过 getDatabase() 获取客户端,支持 sql 与 pool;sql 模板自动参数化,可类型化查询、stream() 流式读取与 chunked(n) 分块,另有 execute()、toSQL()。提供 sql.identifier、sql.values、sql.default、sql.raw、sql.unsafe 等辅助。事务需使用 db.pool 的同一连接执行 BEGIN/COMMIT/ROLLBACK。也可用 getConnectionString() 搭配自选驱动或 postgres 驱动。
Drizzle ORM:需安装 Beta 版。npm install @netlify/database drizzle-orm@beta 与 npm install -D drizzle-kit@beta。drizzle.config.ts 的 out 必须设为 netlify/database/migrations。改完 schema 后运行 npx drizzle-kit generate。不要对托管数据库运行 drizzle-kit push,也不要对 NETLIFY_DB_URL 运行 drizzle-kit migrate。
迁移:文件放 netlify/database/migrations/,支持单 SQL 文件或子目录 migration.sql,命名 <number>_<slug>,按字典序应用,建议时间戳前缀。生产部署发布前应用,失败会阻止发布;部署预览每次部署前应用,失败则部署失败;本地不自动应用,需运行 netlify database migrations apply。不要修改或删除已应用的迁移,避免乱序;破坏性变更应跨多次部署展开收缩。
本地开发:netlify dev 或 @netlify/vite-plugin 启动本地单个 Postgres 兼容引擎,非多进程,不适合压测。常用命令包括 netlify database migrations apply、new -d、pull、status、connect、reset、migrations reset 等。
安装与要求:既有项目可运行 netlify database init(--yes 非交互)。未安装该包则不会自动开通数据库。CLI 需 Node ≥ 20.12.2、Netlify CLI ≥ 26.0.0。
限制:仅 Credit 类套餐可用,活跃数据库消耗计算与带宽额度,存储免费至 2026 年 7 月 1 日;仅 Team Owner 可删除数据库,Owner 与 Developer 可查看连接串;连接串含凭据,切勿提交;预览分支可能含生产数据与 PII,预览链接公开,分享前需提醒。Lambda 兼容模式必须显式传入 connectionString。其他功能、价格与平台细节资料未提及。