Supabase v1.26.08 介绍与选型指南

面向 Supabase v1.26.08 的认知与选型指南:基于 GitHub Releases 与官方文档溯源(查询日期 2026-10-19),覆盖软件定位、组件化架构、功能特性、快速上手示例、适用场景与限制,并与 Appwrite、PocketBase、Directus、Firebase 做社区活跃度、版本节奏与兼容矩阵的量化对比,给出分场景选型建议。

Supabase2026/10/19

Supabase v1.26.08 介绍与选型指南

目标:说清 Supabase v1.26.08 是什么、由哪些组件构成、能解决什么问题、边界在哪里,并与同类开源/托管 BaaS 做量化对比给出选型建议。本篇为认知类文档,全部结论基于官方公开资料(GitHub 官方仓库 Releases 与 supabase.com/docs)溯源编写,查询日期 2026-10-19,不含本地安装实测内容;部署实操见《Supabase Docker Compose 部署指南》。

一、环境信息

本篇是认知与选型类文档,写作依据为官方公开资料而非本地实验,因此先交代「信息基准」:查了什么、什么时候查的、以哪些官方来源为准,便于读者复核与追溯。

二、软件概述

2.1 Supabase 是什么(当前版本 v1.26.08)

Supabase 是一个开源的「Firebase 替代」(open source Firebase alternative),定位是后端即服务(BaaS,Backend as a Service):给应用开发者一站式提供数据库、用户认证、自动生成的数据 API、实时订阅、文件存储、边缘函数等后端能力,开发者只需在前端/客户端直接调用这些服务即可构建完整应用,无需自行搭建和胶水连接多个后端组件。

它与传统方案最核心的差异是:数据底座直接采用 PostgreSQL,而不是自研数据库或 NoSQL。这意味着业务数据就是标准的 PostgreSQL 表,SQL、外键、视图、触发器、行级安全(RLS,Row Level Security)等全部可用,迁移和锁定风险显著低于把数据存进专有 API 后面的云服务。v1.26.08 是其自托管发行口径的当前稳定版本(2026-08-07 发布)。

💡 技术拓展:BaaS 产品按「托管形态」主要分三类,选型时先看这一层——

形态代表特点适用场景
全托管云 BaaSFirebase、Supabase Cloud开箱即用、按量计费、数据在厂商云上快速上线、不想管运维
开源自托管 BaaSSupabase(self-hosted)、Appwrite官方提供完整部署编排,数据落在自己服务器数据合规/内网、成本可控
单机轻量 BaaSPocketBase单二进制内嵌数据库+管理台,资源占用极小个人项目、小工具、边缘设备

本文介绍的 v1.26.08 属于「开源自托管 BaaS」,同时 Supabase 官方也运营同版本的云托管服务;若只是个人小工具且不要求 PostgreSQL,可再对照PocketBase。本文选择 Supabase 自托管形态展开,理由是数据底座为标准 PostgreSQL、迁移路径清晰。

2.2 v1.26.08 内部组件版本(自托管发行实查)

Supabase 由多个专职组件组合而成,每个组件独立发版。下表为 v1.26.08 Release 对应仓库源码 docker/ 目录中实查的组件版本(来源:docker/docker-compose.yml 与 docker/versions.md @ tag v1.26.08,查询日期 2026-10-19):

组件v1.26.08 版本职责
supabase/postgres17.6.1.136数据底座(PostgreSQL 17.6 定制发行,内置 pgvector、pgjwt、pg_cron 等扩展)
kong/kong3.9.3API 网关(统一入口、API Key 鉴权、路由)
supabase/gotrue(Auth)v2.189.0用户认证(邮箱/OAuth/SAML/手机号/MFA)
postgrest/postgrestv14.12从 PostgreSQL 模式自动生成 REST API
supabase/realtimev2.102.3数据库变更/广播/在线状态的实时推送(Elixir)
supabase/storage-apiv1.60.4对象存储服务(兼容 S3 协议)
supabase/postgres-metav0.96.6数据库元数据管理(表结构在线管理)
supabase/edge-runtimev1.74.0边缘函数运行时(Deno/TypeScript)
supabase/supavisor2.9.5数据库连接池(会话/事务两种池化模式)
supabase/studio2026.08.03-sha-022b374Web 管理控制台(表编辑器/SQL 编辑器/认证管理等)
darthsim/imgproxyv3.30.1存储图片实时转换(缩放/裁剪/WebP)

关键差异/如何理解:Supabase 的「版本」实质是一组相互兼容的组件版本集合,升级平台版本即按官方编排整体滚动这组集合;这也是它与PocketBase(单二进制即全部)这类单进程形态在架构哲学上的根本区别。

三、核心架构

3.1 分层架构总览

Supabase 的架构可以概括为「一个 PostgreSQL 底座 + 一组围绕它的服务化组件 + 一个统一网关入口」:

客户端(Web / Mobile / Server SDK)
        │  HTTP(S) + WebSocket,携带 apikey
        ▼
┌─────────────────────────────┐
│  API 网关(Kong)            │  统一入口 /rest/v1 /auth/v1 /realtime/v1
│  API Key 鉴权、路由、CORS     │  /storage/v1 /functions/v1 /graphql/v1
└─────────────────────────────┘
   │        │        │        │        │
   ▼        ▼        ▼        ▼        ▼
 PostgREST  Auth     Realtime  Storage  Edge Functions
 (REST API) (GoTrue) (WS 推送) (对象存储) (Deno TS 函数)
   └────────┴────┬───┴────┬───┴────────┘
                 ▼        ▼
        PostgreSQL 17.6(数据、RLS、扩展、逻辑复制)
                 ▲        ▲
        Supavisor(连接池)  postgres-meta(元数据) + Studio(控制台)

3.2 组件与入口路径对照

每个组件通过网关的固定路径对外提供服务(路径为 v1.26.08 官方网关声明式配置中实查的路由前缀):

入口路径后端组件说明
/rest/v1/*PostgREST依据 PostgreSQL 模式自动生成 REST API,附 OpenAPI 文档
/graphql/v1/*PostgREST + pg_graphqlGraphQL 端点(graphql_public 模式)
/auth/v1/*GoTrue注册/登录/OAuth 回调/令牌签发与校验
/realtime/v1/*RealtimeWebSocket 实时通道(数据变更/广播/在线状态)
/storage/v1/*Storage API对象上传下载、桶管理、图片转换
/functions/v1/*Edge Runtime边缘函数(TypeScript,Deno 运行时)
/pg/*postgres-meta控制台专用的库表结构管理 API(仅管理通道)
/*(其余)StudioWeb 管理控制台页面

💡 技术拓展:「自动生成数据 API」不止一种实现路线,选型与扩展时值得对比——

路线代表原理取舍
模式反射生成 RESTPostgREST(Supabase 采用)直接把表/视图/函数映射为 REST 端点 + OpenAPI零胶水代码,权限交给数据库 RLS
GraphQL 反射pg_graphql、Hasura把模式映射为 GraphQL Schema单请求多资源,聚合查询强
手写后端 API传统 Spring/Express业务代码逐端点编写灵活度最高,开发量最大

Supabase 同时内置前两条路线(/rest/v1 与 /graphql/v1),并把访问控制下沉到 PostgreSQL 的行级安全,这是它与《Appwrite 2.5.0 介绍与选型指南》(自研 REST API + 应用层权限)在安全模型上的关键差异。

3.3 请求与数据的流转路径

以一次「前端读取数据」为例,v1.26.08 的流转路径如下(依据 3.2 节网关路由与各组件官方文档描述归纳):

  1. 客户端 SDK 携带 apikey(公开的 anon key 或服务端 service_role key)请求网关的 /rest/v1/<表名>;
  2. 网关校验 API Key 合法性并按 Key 所属角色(anon / service_role)转发给 PostgREST;
  3. PostgREST 把 REST 谓词翻译成 SQL,使用与角色映射的数据库角色连到 PostgreSQL 执行;
  4. PostgreSQL 按行级安全策略过滤行,返回 JSON;
  5. 若客户端订阅了该表的变更,Realtime 通过监听数据库逻辑复制/轮询把变更经 WebSocket 推送给订阅者。

这套路径决定了 Supabase 的两个重要性质:权限模型在数据库层(RLS)而非应用层,以及数据永远是标准 PostgreSQL 数据(psql、BI 工具、任意 PostgreSQL 客户端都能直连,自托管形态经 Supavisor 连接池暴露 5433/6543 两种池化端口)。

四、功能特性

以下特性均以 v1.26.08 官方文档(supabase.com/docs)对应指南为依据(各条目附官方链接,查询日期 2026-10-19):

  • 数据库(PostgreSQL):标准 PostgreSQL 17,支持外键、视图、触发器、函数、全文检索;官方维护的扩展生态含 pgvector(向量检索)、pg_stat_statements、pg_cron、pgjwt 等(自托管发行内置,见 2.2 节实查)。文档:https://supabase.com/docs/guides/database/overview
  • 行级安全(RLS):以 PostgreSQL 原生 RLS 策略实现「到行/到列」的授权,认证身份通过 JWT 注入数据库会话。文档:https://supabase.com/docs/guides/database/postgres/row-level-security
  • 认证与授权(Auth/GoTrue):邮箱密码、魔法链接、OAuth 社会登录(Google/GitHub/Azure 等)、SAML SSO、手机号 OTP、多因素认证(TOTP/手机)、匿名登录;签发 JWT 供全部组件与 RLS 消费。文档:https://supabase.com/docs/guides/auth
  • 自动生成 API(REST + GraphQL + OpenAPI):表/视图/函数即时映射为 REST 端点与 GraphQL 查询,/rest/v1/ 根路径返回 OpenAPI 描述。文档:https://supabase.com/docs/guides/api
  • 实时(Realtime):三通道——postgres_changes(监听表变更)、broadcast(客户端互发消息)、presence(在线状态同步),基于 WebSocket。文档:https://supabase.com/docs/guides/realtime
  • 存储(Storage):桶式对象存储,公开/私有桶策略,图片转换(imgproxy 实现缩放/裁剪/WebP 自动转换,见 2.2 节 IMGPROXY_AUTO_WEBP),v1.26.x 起 S3 协议端点可直接用 S3 SDK 接入。文档:https://supabase.com/docs/guides/storage
  • 边缘函数(Edge Functions):TypeScript 函数(Deno 运行时),全局部署、可携带用户 JWT 调用。文档:https://supabase.com/docs/guides/functions
  • 向量与 AI:pgvector 向量类型 + 客户端库,配合边缘函数做检索增强(RAG)类应用。文档:https://supabase.com/docs/guides/database/extensions/pgvector
  • 管理控制台(Studio):表编辑器、SQL 编辑器、认证用户管理、存储管理、日志查看;自托管形态内置(v1.26.08 为 Studio 2026.08.03,见 2.2 节)。

五、快速上手(引自官方文档,不本地实测)

本节示例引自 Supabase 官方 JavaScript 客户端文档(https://supabase.com/docs/reference/javascript/introduction ,查询日期 2026-10-19),仅作认知演示,本文不做本地安装实测(部署实操见《Supabase Docker Compose 部署指南》)。

安装客户端库:

npm install @supabase/supabase-js

创建客户端并查询数据(官方文档最小示例形态):

import { createClient } from '@supabase/supabase-js'

// 项目 URL 与 anon 公开 key 来自控制台(自托管形态来自 .env 的 SUPABASE_PUBLIC_URL 与 ANON_KEY)
const supabase = createClient('https://<项目地址>', '<ANON_KEY>')

// 等价于 SQL:select * from countries
const { data, error } = await supabase.from('countries').select()

要点解读:客户端只需两样东西——项目 URL 与 anon key;查询经网关 /rest/v1 到 PostgREST 翻译为 SQL,最终受 RLS 约束。写数据、过滤、分页、订阅变更均为同一形态的链式调用(如 .insert()、.eq()、.range()、.on('postgres_changes')),完整 API 见官方参考页。

六、适用场景与限制

6.1 适用场景

  • SaaS / Web 应用后端:认证 + 数据库 + API + 存储一站式,配合 RLS 可在无后端代码或少后端代码的情况下完成业务闭环;
  • MVP 与快速验证:模式即 API,建表即出接口,适合数天内验证产品假设;
  • 实时协作类应用:Realtime 的变更推送/广播/在线状态三通道覆盖协同编辑、聊天、看板拖拽同步等场景;
  • AI 应用数据层:PostgreSQL + pgvector 承载向量检索,边缘函数做模型代理与编排;
  • 内部工具与管理台:Studio 自带表/SQL/用户/存储管理,自托管形态可作为轻量内部数据平台底座。

6.2 限制与注意

  • 自托管功能差异:云平台的部分增值能力(如日志分析的后端分支)在自托管编排中默认裁剪或需自行启用,v1.26.08 自托管编排中日志分析栈为可选组件;启用前先对照官方自托管文档核对该 Release 的能力清单;
  • 运维责任转移:自托管意味着 PostgreSQL 的备份、升级、监控全部自担,需按《Supabase 日常运维手册》建立巡检与备份闭环;
  • 连接数与并发:PostgreSQL 直连数有限,官方通过 Supavisor 连接池(会话/事务两种模式)缓解,事务模式下池化端口连接行为与直连有差异(预编译语句等需注意);
  • 平台 Release 节奏为月度 Developer Update:自托管升级需跟随官方编排滚动组件集合,跨大版本(如 PostgreSQL 大版本升级)需按官方迁移脚本操作,不能原地改组件版本;
  • 许可与锁定:仓库代码 Apache-2.0(实查见 7.1 节),数据为标准 PostgreSQL,迁移出 Supabase 的成本主要是代码里 SDK 调用的改写。

七、同类选型对比

本节为量化对比,所有数据于 2026-10-19 从各项目 GitHub 官方仓库与 Releases 页实查(含 Firebase 的转述来自其官方文档站 firebase.google.com)。对比对象:《Appwrite 2.5.0 介绍与选型指南》(开源 BaaS)、PocketBase(单机轻量 BaaS)、《Directus 12.5 介绍与选型指南》(数据平台/Headless CMS,常被与 Supabase 对比)与 Firebase(闭源托管 BaaS,转述)。

7.1 社区活跃度对比

项目GitHub Stars开放 Issue 数许可证主语言数据来源
Supabase111,750306Apache-2.0TypeScriptgithub.com/supabase/supabase(2026-10-19 实查)
PocketBase61,48819MITGogithub.com/pocketbase/pocketbase(2026-10-19 实查)
Appwrite57,726365BSD-3-ClausePHP/TypeScriptgithub.com/appwrite/appwrite(2026-10-19 实查)
Directus38,596313MSCL 1.0(源码可得,GitHub 标注 NOASSERTION)TypeScriptgithub.com/directus/directus(2026-10-19 实查)
Firebase不适用(未开源,无公开仓库计数)—专有云服务—firebase.google.com(转述)

关键差异/如何解读:Supabase 的社区规模(11 万+ Stars)在同类中处于第一梯队且领先第二名约一倍;Issue 数要结合仓库定位读——PocketBase 仅 19 个开放 Issue 是因为其问题讨论主要走 GitHub Discussions,不代表活跃度低。许可证上 Supabase(Apache-2.0)与 PocketBase(MIT)、Appwrite(BSD-3-Clause)为宽松开源许可,而 Directus 自 v10 起转为源码可得许可(MSCL 1.0,超过免费阈值或使用高级/企业功能需商业许可),商用时需单独评估。

7.2 版本节奏对比

项目最新稳定版(2026-10-19 实查)发布时间近期节奏
Supabasev1.26.082026-08-07月度 Developer Update:2026 年已发 1/2/3/4/5/7/8 月版(v1.26.01→.08),节奏稳定
Appwrite2.5.02026-10-132.x 大版本推进:2.3.0(2026-09-23)、2.4.0(2026-10-08)、2.5.0(2026-10-13),功能型发布为主
PocketBasev0.40.52026-10-08高频小版本:v0.40.1(2026-08-24)→ v0.40.5(2026-10-08),补丁密集
Directusv12.5.02026-10-07v12 月内多版:12.2.0(2026-08-25)→ 12.5.0(2026-10-07)

(来源:各仓库 GitHub Releases 页,查询日期 2026-10-19)

关键差异/如何解读:四者维护都非常活跃(最近一次发布均在两个月内)。Supabase 的「月度整版 + 组件各自发版」意味着自托管升级是「一组版本集合」的整体滚动,升级计划性强;PocketBase 的高频补丁对单机部署最友好(替换一个二进制);选型时应把「升级形态是否匹配自己的运维节奏」作为权重项。

7.3 兼容矩阵对比

维度Supabase v1.26.08Appwrite 2.5.0PocketBase v0.40.5Directus v12.5.0Firebase(转述)
数据底座PostgreSQL 17(自托管 17.6.1.136)MariaDBSQLite(内嵌)PostgreSQL/MySQL/MariaDB/SQLite/MS SQL 等多种 SQLFirestore/Realtime Database(专有 NoSQL)
数据 API自动 REST + GraphQL + OpenAPI自研 REST API(按集合)单二进制内嵌 REST + 实时订阅REST + GraphQL(Headless CMS 形态)专有 SDK/API(Firestore 等)
认证邮箱/OAuth/SAML/手机/MFA邮箱/OAuth/手机/多团队内置用户体系(单机)内置用户/SSO(部分企业版)Firebase Auth(托管)
实时推送WebSocket(变更/广播/在线状态)实时订阅(_events 通道)内置实时订阅无内置(依赖轮询/外部方案)实时监听(SDK 内置)
边缘函数/自定义代码Deno TypeScript 函数Functions(多运行时)无(需外挂)Flows 扩展(部分商业版)Cloud Functions(托管)
部署形态多服务编排(官方 Compose)多组件编排(官方 Compose)单二进制(无外部依赖)Node.js 服务 + 数据库仅云端,无自托管
SQL 直连是(标准 PostgreSQL 协议)有限(经 API 层)是(SQLite 文件级)是(取决于底库)否(专有协议)

关键差异/如何解读:兼容矩阵上 Supabase 是唯一「标准 PostgreSQL 底座 + 自动 API + 实时 + 边缘函数」四项全中的开源自托管方案;PocketBase 胜在零依赖单机形态但受限于 SQLite 与单机;Appwrite 功能全面但数据底座为 MariaDB 且权限在应用层;Directus 定位更偏数据管理平台(CMS),做应用 BaaS 需补认证与函数能力;Firebase 能力完整但闭源且不可自托管,数据迁移出平台需经专有导出工具。

7.4 选型建议

  • 如果要求数据必须是标准 PostgreSQL、需要 SQL 直连与 RLS 到行授权、或有向量检索诉求 → Supabase;
  • 如果是个人/小团队轻量应用、单机可承载、不想维护多组件 → PocketBase;
  • 如果团队 PHP 技术栈为主、需要多项目/多用户隔离的 BaaS 平台(类 Firebase 控制台体验)→ 《Appwrite 2.5.0 介绍与选型指南》;
  • 如果核心诉求是给非技术团队做内容/数据管理(Headless CMS),数据 API 只是辅助 → 《Directus 12.5 介绍与选型指南》;
  • 如果完全不想自运维、接受数据在厂商云上 → Firebase 或 Supabase Cloud(托管版);
  • 如果需要关系型数据库的完整自治能力(裸库、自定义扩展、精细连接控制)→ 直接使用《PostgreSQL 18.6 介绍与选型指南》并自建 API 层,放弃 BaaS 便利。

八、参考链接