01
转换哪些内容
Supabase 的 RLS 是标准的 CREATE POLICY,加上只有 Supabase 提供的上下文:auth.uid() 和 auth.jwt()、anon、authenticated 和 service_role 角色,以及注入到每个请求中的 JWT。把项目困在 Supabase 上的是这一层上下文,而不是策略本身。
转换器会整体迁移这一层,让你的策略在纯 Postgres 上运行,并继续承担同样的授权工作。
- -auth.uid()、auth.jwt()、auth.role() 和 auth.email() 变成读取事务级设置的访问函数,每个 JWT 声明都有自己的设置。
- -TO anon 和 TO authenticated 变成谓词,service_role 变成一条同样能通过限制性策略的服务通道。
- -FOR ALL 策略按命令拆分,default auth.uid() 之类的列默认值会被改写。
- -报告列出应用现在需要向数据库提供的设置,这就是你的集成清单。