supabase/supabase

发布时间 2026-09-20 11 天前
来源 GitHub TypeScript
字数 1,952 字
查看原文

AI智能总结

Supabase 是一个基于 Postgres 的开源开发平台,旨在提供类似 Firebase 的开发体验。

Supabase 是一个基于 Postgres 的开发平台。我们正在使用企业级的开源工具来构建 Firebase 的各项功能。

  • [x] 托管的 Postgres 数据库。文档
  • [x] 身份验证与授权。文档
  • [x] 自动生成的 API。
  • [x] 函数。
  • [x] 文件存储。文档
  • [x] AI 与向量/嵌入工具包。文档
  • [x] 仪表盘

Supabase 仪表盘

请关注本仓库的 "releases",以便在重大更新发布时收到通知。

文档

完整文档请访问 supabase.com/docs。

如需了解如何贡献代码,请参阅入门指南。

社区与支持

  • 社区论坛:最适合讨论构建过程中遇到的问题以及数据库最佳实践。
  • GitHub Issues:最适合反馈使用 Supabase 时遇到的 Bug 与错误。
  • 邮件支持:最适合处理数据库或基础设施相关的问题。
  • Discord:最适合分享你的应用以及与社区交流互动。

工作原理

Supabase 是多个开源工具的组合。我们正在使用企业级的开源产品来构建 Firebase 的功能。如果某款工具及其社区已经存在,并采用 MIT、Apache 2 或同等开源许可协议,我们会直接使用并支持它;如果该工具不存在,我们就自行构建并将其开源。Supabase 并非 Firebase 的一对一映射。我们的目标是借助开源工具,为开发者带来类似 Firebase 的开发体验。

架构

Supabase 是一个托管平台。你可以直接注册并开始使用 Supabase,无需安装任何东西。
你也可以选择自行托管或在本地进行开发。

  • Postgres 是一个对象关系型数据库系统,拥有超过 30 年的活跃开发历史,以可靠性、功能完善和性能强劲而著称。
  • Realtime 是一个基于 Elixir 的服务器,可让你通过 WebSocket 监听 PostgreSQL 的插入、更新和删除操作。Realtime 通过轮询 Postgres 内置的复制机制来获取数据库变更,再将变更转换为 JSON,然后通过 WebSocket 广播给经过授权的客户端。
  • PostgREST 是一个 Web 服务器,能够将你的 PostgreSQL 数据库直接转换为一个 RESTful API。
  • GoTrue 是一个基于 JWT 的身份验证 API,可简化应用中的用户注册、登录与会话管理。
  • Storage 是一个用于管理 S3 中文件的 RESTful API,权限管理由 Postgres 负责。
  • pg_graphql 是一个用于暴露 GraphQL API 的 PostgreSQL 扩展。
  • postgres-meta 是一个用于管理 Postgres 的 RESTful API,支持获取表、添加角色以及执行查询等操作。
  • Envoy 是一个云原生的高性能边缘与服务代理。

客户端库

我们采用模块化的方式来组织客户端库。每一个子库都是针对单一外部系统的独立实现。这也是我们能够支持已有工具的方式之一。

💚 社区 💚

语言 Supabase 客户端 特性客户端(打包在 Supabase 客户端中)
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 -、-、-、-、-