1
hellomsg 2 天前
那如果我想跳过 RLS ,查询出所有行呢?比如我是管理员
|
3
Ketteiron 2 天前
你先查查 RLS (行级别安全) 相关文档再考虑是否使用。
AI 说的其实没问题,只是稍微理想化,坑确实存在。 曾经用 RLS 设计多租户系统,性能很差,而能用的优化手段有限,不过在量级不大的场景确实会优雅点。 将鉴权逻辑下沉到数据库,有好有坏,具体情况具体分析,有些场景是好的,有些不一定。 但现代化数据库必须提供这样的其他选择,用不用是用户的事。 |
6
Ketteiron 2 天前
@anivie #5 跟查询量关系不大,跟查询是否复杂有关,例如有时候缓存会意外失效
https://www.reddit.com/search/?q=PostgreSQL+RLS+index+usage 复杂项目的多租户远比 Supabase 这种理想多租户复杂,简单场景下 RLS 的开销与 where 子句相比可以忽略。 |
7
bronyakaka 2 天前
反正大规模的聚合不适合;另外要弄个定时任务去不停真空分析;优先高版本支持分区表;
|
8
bbbblue 2 天前
我记得 RLS 一些灵活点的规则需要配合函数/存储过程吧...光 policy 不太行
之前 supabase 里用了一会儿感觉不太适应 RLS 可以作为防止业务出错的保障。。但是这一层让业务自己处理好更好 还有就是就算用 RLS 业务层的校验也是必不可少的...emmm 咋感觉就有点重复的感觉。。。 比较适合后端没太多东西 一把梭? |
9
iseki 1 天前 via Android
RLS 需要依赖 PostgreSQL 自己的权限/用户系统,这个东西在现在来说不是很实用。多租户的话一般建议用 schema 切分,也有利于降低租户之间的耦合。
|