使用 Supabase 免费部署 PostgreSQL 数据库

728 字
4 分钟
使用 Supabase 免费部署 PostgreSQL 数据库
  1. 1使用 Vercel 免费部署自托管 Umami
  2. 2使用 Supabase 免费部署 PostgreSQL 数据库本文
Warning
  • 本教程相较于 Neon 数据库部署,需要一定的动手能力
  • 若使用 Supabase 数据库部署,则请参照本教程的后半部分在 Vercel 上部署 Umami,而不是使用 使用 Vercel 免费部署自托管 Umami 教程中的方案
  • 本教程将使用 Vercel 账号注册 Supabase 账号并使你的项目所在组织与 Vercel 关联,你也可以自行注册 Supabase 账号并创建数据库
Note

本教程为 使用 Vercel 免费部署自托管 Umami 的一部分,默认你已经注册过 Vercel 账号

1. 部署 PostgreSQL 数据库#

  1. 登录 Vercel 仪表盘,在左边导航栏点击 Storage

Vercel 导航栏
Vercel 导航栏

  1. 点击 Create Database,选择 Supabase,点击 Continue

选择 Supabase 数据库
选择 Supabase 数据库

这里可能会要求同意用户协议,阅读后同意即可下一步

  1. 选择一个地区,下方保持默认的免费方案就好,点击 Continue
Tip

地区推荐选择 Tokyo, Japan (Northeast) Hnd1,地理位置上距离中国大陆最近。 请记住这个地区,后续部署 Umami 的时候可以选择相同/相近的地区以提高数据库响应速度。

选择地区
选择地区

  1. 为你的数据库取一个好记的名字,比如 umami,点击 Continue

Ciallo~(∠・ω< )⌒★
Ciallo~(∠・ω< )⌒★

  1. 点击 Done 以完成数据库部署

2. 在 Vercel 上部署 Umami#

Important

注意!从这里开始与使用 Neon 平台的教程存在差异

  1. https://github.com/umami-software/umami 项目 Fork 到你的 GitHub 帐户

  2. 在你 Fork 的仓库根目录中,找到 prisma.config.ts 这个文件,将 DATABASE_URL 修改为 DIRECT_DATABASE_URL(可自定义,与下文中的环境变量名称相同即可)并提交

prisma.config.ts
import 'dotenv/config';
import { defineConfig, env } from 'prisma/config';
export default defineConfig({
datasource: {
url: env('DATABASE_URL'),
url: env('DIRECT_DATABASE_URL'),
},
});
Important

至本文截稿时官网文档给出的仍然是错误的教程

  1. 在 Vercel 仪表板页面上点击导入项目,然后指定你在 GitHub 上 Fork 的项目 URL,连按确定继续,等待自动部署完成

  2. 回到 Vercel 仪表盘,前往 Storage → <你的数据库名>,找到 POSTGRES_PRISMA_URLPOSTGRES_URL_NON_POOLING 并分别复制等号右边的值(记得在右边点开Show secret显示明文)

  3. 打开你的 Umami 项目,在 SettingsEnvironment VariablesAdd Environment Variable 填入两个环境变量:

    • Key 填写 DATABASE_URLValue 粘贴 POSTGRES_PRISMA_URL 等号右边的值,随后将结尾修改为?pgbouncer=true&connection_limit=1(对应 Supabase Dashboard 中的 Transaction pooler
    • Key 填写 DIRECT_DATABASE_URLValue 粘贴 POSTGRES_URL_NON_POOLING 等号右边的值,将结尾的?sslmode=require删去(也可自行配置 SSL 支持)(对应 Supabase Dashboard 中的 Session pooler

    Save 保存

添加环境变量
添加环境变量

  1. 保存后 Vercel 会弹窗提示你重新部署,在弹出的窗口中点击 Redeploy 确认即可

    右下角的蓝色弹窗,点击 Redeploy
    右下角的蓝色弹窗,点击 Redeploy
    在新窗口中点击 Redeploy 确认部署
    在新窗口中点击 Redeploy 确认部署

Tip
  • DATABASE_URL 的形式为:postgres://[db-user].[project-ref]:[db-password]@aws-0-[aws-region].pooler.supabase.com:6543/[db-name]?pgbouncer=true&connection_limit=1
  • DIRECT_DATABASE_URL 的形式为:postgres://postgres.[my-supabase-project-id]:[db-password]@aws-0-[aws-region].pooler.supabase.com:5432/postgres
  1. 完成!接下来的步骤和 Neon 平台一样了!请 接着这篇教程继续吧

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
使用 Supabase 免费部署 PostgreSQL 数据库
https://www.hk256.dev/posts/tutorials/umami/supabase/
作者
白隐Hakuin
发布于
2026-03-15
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
白隐Hakuin
“播种与期待之歌,亦是收获与欢愉之歌。”
公告
Ciallo~(∠・ω< )⌒★ 这里是白隐Hakuin,你可以用白熊称呼咱!
分类
标签
站点统计
文章
32
分类
7
标签
35
总字数
65,441
运行时长
0
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录