云数据库 · 官方网站

Supabase 是什么?适合快速做后端,但数据库规则要认真写

以 Postgres 为核心,整合认证、存储、实时能力和 Edge Functions 的后端平台。

它不是“像数据库”,而是真的 Postgres

Supabase 官方文档明确说明,每个项目拿到的是完整 Postgres 数据库。Auth、Storage、Realtime、Edge Functions 等能力围绕它展开,所以你学到的表、索引、SQL、权限设计并不会被锁死在一个完全私有的数据库模型里。

RLS 不是可选的安全装饰

前端直接访问数据时,Row Level Security 决定“这个用户到底能看到哪几行”。开发阶段为了省事把策略放开,上线后很容易留下数据越权风险。先把用户身份、角色和数据所有权想清楚,再写策略。

Edge Functions 适合小型服务端逻辑

Webhook、调用第三方 API、发送邮件、做一些需要隐藏密钥的逻辑,都可以放到 Edge Functions。它们是服务端函数,不要把 secret 再塞回浏览器。

快速搭原型很好,但迁移和备份也要提前想

项目变大以后,数据库迁移、连接池、备份和日志会越来越重要。别等到线上表结构已经乱了,才开始补迁移流程。

开发时经常会清表、改结构、放宽临时规则,这些动作不应该直接发生在正式数据上。哪怕项目很小,也建议把测试环境和生产环境分开,并保留数据库变更记录。

测试项目和正式项目最好从一开始就分开

对外开放表之前先测试权限

建立最小的测试用户,分别尝试读取自己的记录、读取其他用户记录、未登录读取和写入。只要业务依赖用户身份,Row Level Security 的策略就必须用真实请求验证。前端隐藏按钮不等于数据库访问被限制。