Supabase

更新时间:
复制 MD 格式

云原生数据仓库AnalyticDB PostgreSQLSupabase是基于开源Supabase深度增强打造的全托管应用开发平台。平台延续原生Supabase的开发体验,提供数据库、用户鉴权、边缘函数等核心功能,并结合阿里云基础设置提供更高性能、更强安全性和更完善的生态支持。相较于开源自托管方案,云原生数据仓库AnalyticDB PostgreSQL在保持资源归属于用户的同时,提供全面的托管能力,支持按需选择计算与存储规格,同时原生支持支付宝、微信等第三方OAuth功能,补齐了开源方案缺失的Edge Functions等核心特性,并且保持与Supabase Cloud高度一致的用户体验和API兼容性。

核心功能

功能

说明

原生支付宝/微信OAuth 支持

原生集成支付宝与微信第三方登录认证,无需自行适配OAuth流程,即开即用。适用于Web、App、小程序等多种应用场景,大幅降低接入成本。

Edge Functions 全周期体验

支持Supabase Edge Functions全生命周期(开发、部署、日志观测),提供低延迟调用、稳定执行与事件触发能力。此外,提供原生Secrets管理功能,可安全管理API Key、Token、密钥等敏感信息。

全链路日志可观测能力

Edge Functions、数据库、Auth、Storage等模块均具备清晰可观测的日志体系。开发者可在Dashboard中自助查看执行日志、调试信息及错误定位,显著提升开发效率和排障速度,实现真正的自服务开发体验。

生态兼容与便捷迁移

API、SDK 兼容,提供迁移方案,可轻松从官方Supabase迁移,无需修改应用代码。

MCP Server原生支持

支持Model Context Protocol(MCP)Server,使LLM、Agent 等智能应用可直接调用数据库、Storage、Edge Functions等资源,实现更自然、更强大的AI调用链路,适合构建智能助手、自动化服务与数据驱动应用。

企业级安全体系

提供VPC网络隔离、访问审计、加密传输、权限体系以及对象存储安全策略。

全托管与免运维体验

提供多种实例规格并支持扩缩容,以满足不同业务场景需求。提供版本升级、数据备份等企业级能力,让开发者专注业务,无需自建集群。

费用说明

  • 免费版:提供12 GB的规格免费使用。

    重要

    免费项目仅用于开发测试,请勿在生产环境下使用。

  • 付费版:创建项目会产生计算资源和存储资源费用,计算资源各规格定价请参见Supabase。项目收费明细,请参见控制台订购页

创建Supabase项目

  1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台

  2. 在控制台左上角,选择实例所在地域。

  3. 在左侧导航栏中,单击Supabase

  4. 单击页面右上角的创建项目,选择免费测试创建付费创建

  5. 设置参数。

    免费测试创建

    参数

    说明

    项目名称

    项目名称。

    可用区

    可用区是地域中的一个独立物理区域,不同可用区之间没有实质性区别。

    规格

    选择项目规格。

    数据库账号

    固定为postgres。

    数据库密码确认密码

    初始账户的密码。限制如下:

    • 长度为 8~32 个字符。

    • 由大写字母、小写字母、数字、特殊字符其中三种及以上组成。

    • 支持的特殊字符:!@#$%^&*()_+-=

    说明

    创建实例后支持在控制台修改数据库密码或通过API修改Supabase项目数据库密码

    专有网络

    选择专有网络VPCID。

    VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。需要事先创建与实例在同一地域下的VPC和交换机

    专有网络交换机

    选择专有网络下的交换机。

    如果没有可选的交换机,说明该可用区暂无可用交换机资源。您可以考虑更换至其他可用区,或在当前可用区内创建交换机

    是否开放白名单限制

    选择是否开放白名单限制。

    IP白名单

    设置需要添加的白名单IP地址。

    付费创建

    参数

    说明

    商品类型

    选择包年包月或按量付费。

    地域和可用区

    选择地域和可用区。可用区是地域中的一个独立物理区域,不同可用区之间没有实质性区别。

    计算资源规格

    选择计算资源规格大小。推荐规格内存大于等于4G。

    磁盘存储类型

    选择磁盘存储类型。

    存储资源规格

    选择存储资源规格大小。

    项目名称

    输入项目名称。

    重要

    项目名称不可重复。

    初始化密码

    设置数据库的密码。限制如下:

    • 长度为 8~32 个字符。

    • 由大写字母、小写字母、数字、特殊字符其中三种及以上组成。

    • 支持的特殊字符:!@#$%^&*()_+-=

    说明

    专有网络(VPC)

    选择专有网络VPCID。

    VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。需要事先创建与实例在同一地域下的VPC和交换机

    专有网络交换机

    选择专有网络下的交换机。

    如果没有可选的交换机,说明该可用区暂无可用交换机资源。您可以考虑更换至其他可用区,或在当前可用区内创建交换机

    资源组

    选择资源组。

  6. 确认参数配置,完成项目创建。

    • 免费测试创建:单击确定

    • 付费创建:单击立即购买,确认订单信息并单击立即开通

使用Supabase项目

  1. 登录Supabase Dashboard。

    1. 单击目标实例操作列的管理

    2. 复制登录账号与登录密码,单击确定,即可跳转到Supabase Dashboard登录窗口。

    3. 输入用户名与密码,登录Supabase Dashboard。

    image

  2. 获取API Keys。

    • 获取anon key,用于数据库的CRUD等操作。

      1. Supabase Dashboard页面左上角单击Connect

      2. 在弹出窗口中单击App Frameworks,即可获取Supabase实例的SUPABASE_URLSUPABASE_ANON_KEY信息。

      image

    • 获取service role key,用于身份验证与授权等操作。

      1. Supabase Dashboard页面左侧导航栏单击API Docs

      2. 单击Introduction>BashProject API Key选择service_role(secret)

        image

      3. 单击Authentication,获取SERVICE KEY

        image

  3. 使用实例。

    重要

    建议您把API Key配置到环境变量,从而避免在代码里显式配置API Key,降低泄漏风险。

    • 通过Supabase RESTful API管理数据库。

      支持通过https://<SUPABASE_URL>/rest/v1/实现数据库的CRUD操作。例如,查询数据库中的users表,命令如下:

      curl 'http://<SUPABASE_URL>/rest/v1/users'-H "Authorization: Bearer <anon key>" -H "apikey: <anon key>" -H "Content-Type: application/json"
    • 通过Supabase Auth API管理用户注册和身份验证等功能。

      例如,查询数据库中所有的用户,命令如下:

      curl 'http://<SUPABASE_URL>/admin/users' -H "Authorization: Bearer <service role key>" -H "apikey: <service role key>" -H "Content-Type: application/json"
说明

更多功能使用,请参见Supabase官方文档

管理Supabase项目

修改数据库密码

单击目标实例操作列的修改密码,在弹窗中填写新密码,然后单击确定

修改白名单

单击目标实例操作列的修改白名单,在弹窗中填写IP白名单,然后单击确定

删除Supabase项目

单击目标实例操作列的释放,在弹窗中单击确定

相关API

API

描述

创建Supabase项目

创建Supabase项目。

查询Supabase项目列表

查询Supabase项目列表。

查询Supabase项目API Keys

查询Supabase项目的API Keys信息,包括anon keyservice role key。

修改Supabase项目数据库密码

重置Supabase项目数据库密码。

修改Supabase项目白名单

设置Supabase项目的白名单。

删除Supabase项目

删除Supabase项目。

常见问题

如何直连PostgreSQL数据库?

20250827日后创建的云原生数据仓库AnalyticDB PostgreSQLSupabase已支持标准PostgreSQL直连。您可以使用psql、JDBC、DBeaver、DataGrip、Tableau等常见工具连接到AnalyticDB Supabase。

连接步骤:

  1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台,选择实例所在地域,然后在左侧导航栏中,单击Supabase

  2. 设置白名单。

    单击目标项目所在行操作列的修改白名单,将客户端的公网IP加入Supabase项目白名单。

    image

  3. (可选)设置并保管数据库账号密码。

    单击目标项目所在行操作列的修改密码,设置并妥善保管数据库账号密码。

  4. 获取连接信息并连接数据库。

    • 默认端口:5432。

    • 连接地址:单击目标项目所在行操作列的管理,单击跳转,跳转后页面的URL即为数据库的连接地址。如果跳转后的URL显示为http://<IP>:8000,则<IP>即为数据库的连接地址。

如何修改 Auth 配置?

Auth 服务提供 PATCH /auth/v1/modify/settings 接口,用于在运行时动态修改认证配置,无需重启服务即可生效。

认证方式

需要使用 Service Role Key 进行认证,同时在 Authorizationapikey 两个 Header 中传入。

使用说明

  • 请求体为 JSON,只需传入要修改的字段,未传入的字段保持不变。

  • 配置修改后立即生效(热加载),无需重启。

  • 配置持久化在数据库中,服务重启后不会丢失。

示例:修改 JWT 过期时间

将 JWT access token 过期时间从默认的 3600 秒修改为 7200 秒:

curl -X PATCH https://<项目域名>/auth/v1/modify/settings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <SERVICE_ROLE_KEY>" \
  -H "apikey: <SERVICE_ROLE_KEY>" \
  -d '{"jwt_exp": 7200}'

查看当前配置

使用 GET /auth/v1/settings 查看所有当前配置值:

curl https://<项目域名>/auth/v1/settings \
  -H "Authorization: Bearer <SERVICE_ROLE_KEY>" \
  -H "apikey: <SERVICE_ROLE_KEY>"

响应中会包含所有可配置参数及其当前值(敏感字段如 secret、密码会被隐藏)。返回的 JSON 字段名即为 modify/settings 接口接受的参数名。