Supabase:基于 Postgres 的开源开发平台(Firebase 替代方案)
Supabase 是一个以 Postgres 为核心的开发平台,用企业级开源工具实现 Firebase 式能力,提供托管 Postgres 数据库、认证授权、自动生成 REST/GraphQL API、实时订阅、数据库函数与 Edge Functions、文件存储以及 AI 向量/嵌入工具箱,支持托管注册使用,也支持自建与本地开发。
社区作者 · zZz
它解决什么问题
Supabase 是一个 Postgres 开发平台,目标是用企业级开源工具复刻 Firebase 的功能体验:如果某个能力已有 MIT、Apache 2 或同等开放许可的成熟开源工具与社区,就直接使用并支持;如果没有,就自行构建并开源。官方强调 Supabase 并非 Firebase 的一对一映射,而是借助开源工具提供类似 Firebase 的开发者体验。
核心功能(均附有官方文档入口):
- 托管 Postgres 数据库;
- 认证与授权(Authentication and Authorization);
- 自动生成 API,包含 REST 与 GraphQL;
- 实时订阅(Realtime subscriptions);
- 函数,包含数据库函数与 Edge Functions;
- 文件存储(File Storage);
- AI + 向量/嵌入工具箱(Vector/Embeddings Toolkit);
- Dashboard 控制台。
架构组成:Supabase 是托管平台,注册后无需安装任何东西即可使用,也可以自建并在本地开发。其背后由以下开源组件构成:
- Postgres:对象关系型数据库系统,已有 30 多年活跃开发,以可靠性、功能健壮性和性能著称;
- Realtime:Elixir 服务器,通过 WebSocket 让客户端监听 PostgreSQL 的 insert、update、delete;它轮询 Postgres 内置复制功能获取变更,把变更转换为 JSON,再通过 WebSocket 广播给已授权客户端;
- PostgREST:把 PostgreSQL 数据库直接转换为 RESTful API 的 Web 服务器;
- GoTrue:基于 JWT 的认证 API,用于简化用户注册、登录和会话管理;
- Storage:管理 S3 文件的 RESTful API,权限由 Postgres 处理;
- pg_graphql:暴露 GraphQL API 的 PostgreSQL 扩展;
- postgres-meta:管理 Postgres 的 RESTful API,可获取表、添加角色、执行查询等;
- Envoy:云原生高性能边缘与服务代理。
客户端库采用模块化思路,每个子库都是面向单一外部系统的独立实现。官方客户端库按语言划分:JavaScript(TypeScript) 提供 supabase-js、postgrest-js、auth-js、realtime-js、storage-js、functions-js;Flutter 提供 supabase-flutter、postgrest、supabase_auth、supabase_realtime、supabase_storage、supabase_functions;Swift 提供 supabase-swift、postgrest-swift、auth-swift、realtime-swift、storage-swift、functions-swift;
Python 提供 supabase-py、postgrest-py、gotrue-py、realtime-py、storage-py、functions-py。社区维护的客户端包括:C#(supabase-csharp 及 postgrest-csharp、gotrue-csharp、realtime-csharp、storage-csharp、functions-csharp)、Go(postgrest-go、gotrue-go、storage-go、functions-go)、Java(gotrue-java、storage-java)、Kotlin(supabase-kt、postgrest-kt、auth-kt、realtime-kt、storage-kt、functions-kt)、Ruby(supabase-rb、postgrest-rb)、Rust(postgrest-rs)、Godot Engine GDScript(supabase-gdscript)。
配图说明:配图 1 与配图 2 为项目 README 在浅色/深色模式下使用的项目标识;配图 3 为 Supabase Dashboard 界面截图;配图 4 为仓库的 Watch this repo 动图,用于说明关注 releases 可获知重要更新;配图 5 为 Supabase 架构示意图。
社区与支持渠道:Community Forum 适合构建求助和数据库最佳实践讨论;GitHub Issues 适合反馈使用 Supabase 时遇到的 bug 与错误;Email Support 适合数据库或基础设施问题;Discord 适合分享应用与社区交流。README 还列出了阿拉伯语、简体中文、繁体中文、英文、日文、韩文、德文、法文等数十种翻译版本。
适用对象:希望快速获得 Postgres 后端能力的 Web、移动端与 AI 应用开发者;需要 Firebase 式开发体验但要求开源与可自建能力的团队;需要认证、实时订阅、自动 API、文件存储和向量检索一体化后端的技术团队。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
来源正文未提供具体的安装命令或自建步骤,仅给出两种使用路径与文档指引:
- 准备环境:无需准备本地环境。Supabase 是托管平台,注册后无需安装任何东西即可开始使用(托管平台路径)。
- 自建与本地开发:官方说明也可以 self-host 并在本地开发,但具体步骤、命令与依赖未在本页正文中给出,需查阅官方文档 supabase.com/docs 中的自托管与本地开发章节。
- 首次运行:托管路径为注册账号后直接在 Dashboard 中使用;自建路径的首次运行方式来源未说明,待核验。
- 贡献代码:官方指引访问 Getting Started(Contribute)页面了解贡献方式,该页面在正文中仅以链接形式给出,未包含具体命令。
- 更新通知:在 GitHub 上 Watch 本仓库的 releases,可获知重要版本更新(见配图 4)。
- 获取帮助:构建类问题走 Community Forum,使用中的 bug 与错误走 GitHub Issues,数据库或基础设施问题走 Email Support,社区交流走 Discord。
- 常见问题:来源正文未列出常见问题清单,待核验;自建过程中的环境准备、命令顺序与首次运行故障排查需以官方文档为准。