Supabase 是以 PostgreSQL 为核心的开源后端开发平台,提供托管云服务,也支持在自己的服务器或云环境中部署。每个项目使用完整的 Postgres 数据库,并在其上组合身份认证、自动生成的数据 API、对象存储、实时数据、Edge Functions 和向量能力。它适合希望快速搭建 Web、移动端或 AI 应用后端,同时保留 SQL、关系模型与一定迁移空间的开发者和团队。
各项服务都围绕 Postgres 工作
Supabase 并不是把多个互不相关的在线工具放在同一个控制台。Postgres 是项目的数据基础,Auth 负责用户身份与会话,Row Level Security(RLS)决定登录用户能读取或修改哪些行;Storage 的文件元数据和访问策略也可以与数据库权限配合。Realtime 监听数据库变化并向客户端广播,Edge Functions 则适合处理 Webhook、第三方 API、需要服务器密钥的逻辑和轻量服务端任务。
这种架构允许前端通过官方客户端库直接访问受策略保护的数据,但“可以从客户端调用”不代表默认安全。表结构、约束、索引和 RLS 策略仍需要像普通生产数据库一样设计。
建立第一个项目时的实用顺序
- 创建项目并选择合适区域,保存数据库密码和项目标识,不要把管理凭据提交到代码仓库。
- 先用 SQL Migration 或 SQL Editor 建立表、关系、约束和索引,再准备少量测试数据。
- 为会被客户端访问的表启用 RLS,按匿名用户、登录用户和后台服务分别编写策略。
- 接入 Auth 后验证注册、登录、会话刷新、退出和密码重置,再测试不同账号之间的数据隔离。
- 按需增加 Storage、Realtime 或 Edge Functions,不要在需求尚未出现时同时开启所有能力。
- 把数据库变更纳入迁移文件和版本控制,在测试环境验证后再部署到生产项目。
Dashboard 的 Table Editor 适合观察数据和快速验证,但长期项目不应只依赖手工点击修改数据库。使用迁移文件可以让团队知道某个字段、策略或函数何时改变,也便于建立预发布环境和回滚方案。
客户端密钥与服务端密钥不能混用
浏览器或移动端只能使用可公开的项目 URL 和 publishable/anon 类密钥,并依赖 RLS 限制访问范围。secret 或 service role 类密钥拥有更高权限,可能绕过普通行级策略,只能保存在可信服务器、Edge Function 密钥或受控的部署环境中。把高权限密钥写进前端环境变量,即使变量名带有“private”,构建后仍可能被用户取得。
- 先写拒绝策略:新表默认不要假设客户端应该拥有全部读写权限。
- 按用户验证:至少用两个普通账号测试越权读取、更新和删除。
- 后台操作隔离:支付回调、管理员任务和批处理放在服务端执行,并检查调用者身份。
- 记录密钥轮换:密钥泄露时要能定位使用位置、轮换并撤销旧凭据。
托管 Supabase 与自托管不是同一种维护成本
| 选择 | 更适合的情况 | 需要承担的事项 |
|---|---|---|
| Supabase 托管平台 | 希望快速创建项目,由平台处理主要基础设施 | 核对套餐、区域、配额、备份能力和平台功能变化 |
| 自托管 Supabase | 需要数据控制、隔离环境或自行满足合规要求 | 服务器、升级、安全加固、Postgres 运维、高可用、监控、备份与灾难恢复 |
| 本地 CLI 环境 | 开发、测试迁移和函数 | 不能把本地开发栈直接等同于生产托管平台 |
官方文档明确指出,自托管版本更接近单个项目,并不包含托管平台的全部能力;分支、高级指标、托管备份与时间点恢复等平台功能可能不可用或需要自行实现。因此,自托管的价值是控制权,而不是自动获得更低成本或更少维护。
什么时候 Supabase 比自建后端省力
它特别适合数据天然适合关系模型、团队熟悉 SQL,并且希望把认证、文件、实时订阅和 API 快速组合起来的产品。原型、内部工具、内容应用、会员系统、协作产品和带向量检索的 AI 应用都可以从统一的项目模型中受益。若业务需要非常特殊的数据库引擎、重型长任务、复杂消息系统或跨数据库事务,仍可能需要额外服务,而不是把所有逻辑塞进 Edge Functions。
“使用 Postgres”不等于迁移零成本
数据库表和标准 SQL 有助于降低锁定,但完整迁移还涉及 Auth 用户、对象存储、RLS 策略、数据库扩展、函数、实时订阅和客户端代码。选型时应提前测试数据导出、备份恢复和替代连接方式;生产环境还要观察连接池、查询计划、索引、日志与费用,而不是只看开发阶段是否容易上手。
Supabase 的套餐、免费额度、可选区域和平台功能会变化,正式使用前应以官网定价页和项目控制台的现行说明为准。访问地址:https://supabase.com/
数据统计
相关导航
基于 Kubernetes 的应用与云资源管理平台
Syncthing
开源的设备间持续文件同步工具
KubeSphere
开源 Kubernetes 多租户容器云管理平台
Self-hosted LiveSync
可自托管 CouchDB 或对象存储的 Obsidian 同步插件
MeterSphere
开源持续测试与接口、UI、性能测试平台
Zadig
云原生 DevOps 环境、测试与交付平台
Apache APISIX
开源高性能 API 网关与流量管理平台
Rainbond
简化 Kubernetes 应用交付的开源容器平台
暂无评论...
