Supabase 是一个基于 PostgreSQL 的开源后端服务框架,封装了用户认证、文件存储、边缘函数等功能,为开发者提供了一套开箱即用的基础设施。它在 GitHub 上拥有极高的关注度,适合快速构建前后端完整应用。
Supabase 主要提供三大部分能力:后端基础设施(数据库、存储、函数)、前端 SDK 接入以及免费云服务。项目完全开源,支持通过源代码或 Docker 镜像进行本地私有化部署,也可直接使用官方云实例。
数据库核心
访问 Supabase 官网注册账号并创建组织与项目。在控制台左侧的 Table Editor 中可创建数据表,编辑记录。SQL Editor 允许直接编写和执行 SQL 语句。
在 Database 菜单下,可管理 Schema、表、函数、触发器、索引等。其中 Extensions(插件)功能强大,例如启用 PostGIS 插件后,PostgreSQL 即可存储地理位置信息,替代部分 GIS 工具。
CREATE TABLE city_map (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
geom GEOMETRY(GEOMETRY, 4326)
);
INSERT INTO city_map (name, geom) VALUES
('人民公园', ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326)),
('护城河', ST_GeomFromText('LINESTRING(-5 5, 15 5)', 4326));
数据库连接
除了网页操作,Supabase 提供远程连接地址。可通过 DBeaver 等客户端工具直连。连接模式分为 Direct Connection(直连,不支持 IPv4)和 Session Pooler(支持 IPv4)。对于无状态服务如 Serverless 函数,推荐使用 Transaction Pooler 模式,由 Supabase 自动维护连接池以降低压力。
Supabase SDK
SDK 允许前端框架(React、Vue 等)直接接入后端。安装 @supabase/supabase-js 后即可使用。
关于 API Key 的安全性:虽然将 Key 暴露在前端看似有风险,但配合 RLS(行级安全策略),即使在前端交互也能保障数据安全。以下是基础的用户注册与登录示例:
const supabase = createClient(supabaseUrl, supabaseKey);
// 注册
await supabase.auth.signUp({ email: '[email protected]', password: 'SecurePassword123!' });
// 登录
const { data, error } = await supabase.auth.signInWithPassword({
email: ,
:
});
.(data);


