Supabase 上线 pgvector 扩展,可在 Postgres 里存储和查询 OpenAI embedding
Supabase 宣布 pgvector 扩展已在所有新建项目上可用,这是一个开源的向量相似度搜索扩展,让开发者直接在 Postgres 中存储和查询 embedding。
推荐理由:Supabase 全新建项目已自带 pgvector,做向量检索的可以直接在 Postgres 里存和查 embedding,不必再单独搭一套向量库。
Supabase 的免费额度与定价、数据库与鉴权的可用边界;可替代方案与迁移成本。
Supabase 宣布 pgvector 扩展已在所有新建项目上可用,这是一个开源的向量相似度搜索扩展,让开发者直接在 Postgres 中存储和查询 embedding。
推荐理由:Supabase 全新建项目已自带 pgvector,做向量检索的可以直接在 Postgres 里存和查 embedding,不必再单独搭一套向量库。
Supabase 在平台上发布 Postgres 扩展 pg_jsonschema,为 json 和 jsonb 数据类型增加 JSON Schema 校验支持。
推荐理由:在 Postgres 里用 check 约束加 JSON Schema 校验 json/jsonb,省掉为 webhook 数据建 5 张关联表的架构成本。
PostgREST v10 已发布,可通过 GitHub release 页面自行托管或下载可执行文件使用,Supabase 平台暂未上线,官方称将在接下来一个月内上线。
推荐理由:PostgREST v10 新增 EXPLAIN 执行计划与计算关系,自托管用户可先升级,Supabase 平台版要等一个月。
Supabase 博客介绍一种用 PostgreSQL 行级安全(RLS)导出部分数据的方法:先建一个受限用户 exporter 并只授予 public schema 的 usage 和 profiles 表的 select 权限。
推荐理由:用 RLS 加受限用户跑 pg_dump,把生产库里的用户数据挡在本地开发环境之外。
Supabase 发布 Edge Functions,让开发者用 TypeScript 编写函数并在靠近用户的边缘节点执行,底层运行在 Deno 的 Deno Deploy 上,部署到全球 30 多个数据中心。
推荐理由:Supabase 上线 Edge Functions,用 Deno 在全球 30 多个数据中心跑 TypeScript,做支付回调的可以少维护一层容器。
Supabase 发布 Enterprise 计划,同时把部分企业功能放进 Pro 档:合并 Pro 与 Pay as you go 计划,升级 Pro 后默认开启消费上限,单项目每月成本上限为 25 美元,超出后服务仍会继续运行并会直接联系用户。
推荐理由:Supabase 把企业级功能下放到 Pro 档并默认开启每月 25 美元消费上限,按用量付费的团队要重新核对账单预期。
Supabase 宣布 GraphQL 支持正式可用(general availability),通过开源 PostgreSQL 扩展 pg_graphql 实现,可在 SQL 内或通过 HTTP 端点 https://<project_ref>.supabase.co/graphql/v1 查询已有 PostgreSQL 数据库。
推荐理由:Supabase 把 GraphQL 通过开源扩展 pg_graphql 正式开放,用 Postgres 权限和 RLS 直接管鉴权,自建后端可以少写一层解析服务。
Supabase 发布一套 150 行 SQL 的 Postgres 审计方案,用 JSONB 单表存储所有表的增删改历史,通过 audit.enable_tracking('public.members') 一行开启追踪,并用 BRIN 索引 ts、btree 索引 table_oid 和 record_id 支撑按时间范围和单行历史的快速查询。
推荐理由:用 150 行 SQL 给 Postgres 加审计表,写入低于每秒 1000 次时开销可忽略,可直接照抄或装扩展。
Supabase 开源了 pg_graphql,一个原生 PostgreSQL 扩展,把 GraphQL 的 schema 生成、查询解析和 resolver 全部放在数据库服务器内,不需要额外服务。
推荐理由:Supabase 把 GraphQL 能力做成 PostgreSQL 扩展开源,自托管项目可以省掉额外进程和内存开销。
Supabase 宣布 Realtime 现在会遵循 PostgreSQL 的 Row Level Security 策略,数据库变更只广播给有权限查看的用户,此前 Realtime 会把所有变更广播给所有客户端。
推荐理由:Realtime 现在按 RLS 策略逐用户过滤广播,用 Realtime 的要把客户端升到 v1.23.0 并检查策略性能。
Supabase 发布 Supabase Studio,把平台上使用的 Dashboard 开源,供本地开发和自托管使用。
推荐理由:Supabase 把平台同款 Dashboard 前端开源,自托管和本地开发可以直接用同一套代码管理数据库。
PostgREST 9 发布,新增在嵌入表时做内连接的能力,用 !inner 关键字可基于嵌入表(如 users)的过滤条件筛选顶层表(如 messages)的行,适用于所有 Supabase 客户端库和各类操作符。
推荐理由:PostgREST 9 支持内连接过滤和单参数 POST,自建自定义 auth 函数的要在升级前改 current_setting 写法。
Supabase 宣布 Database Webhooks(原 Function Hooks)以 Alpha 形式向所有新项目开放,可监听表的 INSERT、UPDATE、DELETE 事件并异步触发外部 HTTP 函数,同时 Dashboard 新增原生 PostgreSQL Functions 编辑器和触发器管理界面。
推荐理由:Supabase 把 Database Webhooks 和 Postgres Functions 编辑器放进所有新项目的 Alpha,想接数据库变更触发外部 HTTP 的可以现在试,但别用在关键路径上。
Supabase Auth 发布 v2,新增手机号登录能力,用户可用短信一次性密码(OTP)登录,也可用手机号加密码组合登录,该功能对所有新建和已有的 Supabase 项目开放。
推荐理由:Supabase Auth 上线手机号 OTP 登录,用 Twilio 即可接入,做移动端登录的可以省掉自建短信验证流程。
Supabase 宣布即日起所有新项目都内置 PgBouncer 连接池,控制台 Database 区域可查看连接信息并修改 Pool Mode。官方推荐 Serverless 函数使用 Transaction 模式,该模式下连接仅在事务期间占用,但 prepared statements 等会话级功能不可用;Pool Size 目前固定为 15,暂不向老项目开放。
推荐理由:Supabase 新项目默认带上 PgBouncer 连接池,用 Serverless 直连 Postgres 的可以少踩连接被打满的坑。
Supabase 在 Launch Week 第 3 天发布 CLI,开发者可用 Docker Compose 在本地运行与生产环境完全一致的 Supabase 服务,并通过 supabase init、supabase start 启动本地后端。
推荐理由:Supabase 发布 CLI,可在本地用 Docker Compose 跑完整后端,并新增 supabase eject 导出自托管所需文件。
Supabase 发布 Storage,用户注册后除 Postgres 数据库、实时订阅、用户管理和自动生成 API 外,还直接获得一个可扩展的对象存储,不必再单独注册存储服务。
推荐理由:Supabase 把对象存储并入现有项目,用 Postgres 行级安全写访问策略,省掉再接一个存储服务。
Supabase 发布 Beta 定价,分为 Free、Pro、Team、Enterprise 四档。
推荐理由:Supabase 公布 Beta 版四档定价与各档免费额度,正在选型的项目可据此估算数据库、存储和 MAU 超量后的月成本。
Supabase 从 3 月 29 日起举行为期一周的 Launch Week,首日公布定价方案,保留免费档位,并把用量计费集中在存储等更可预测的项目上,不对 API 请求计费,免费档位每天可发起数百万次请求,未来会在最高档位引入用量上限,且采用软性档位避免用户被意外升级。
推荐理由:Supabase 公布免费档位与按存储计费的定价思路,并在一周内连发 Storage、CLI、UI 库等多项能力,自托管用户可据此评估迁移与成本。
Supabase 官方给出一种做法:在 Postgres 里启用 pg_cron 和 pgsql-http 两个扩展,就能按 cron 语法定时调用外部 HTTP 接口,例如每分钟向 webhook 发一次 POST。
推荐理由:用 pg_cron 加 pgsql-http 两个扩展,就能在 Postgres 里定时调外部接口,省掉一台跑 cron 的机器。