TL;DR:在控制台(lingcode.dev/backends → Database)中点击 Advisors,它会扫描你的后端 schema 并标记安全问题(表的行级安全未启用、RLS 关闭时策略仍存在、函数的 search_path 可变)以及性能问题(无主键、重复索引、多个宽容策略、未索引的外键)——每条问题都附有修复建议。修改后重新运行;绿色的"无问题"状态表示危险项已全部处理。
后端最危险的 bug 往往不会大声报错——比如你忘记开启行级安全的那张表,任何持有公共密钥的人都能静默读取所有数据。Advisors 是一个一键扫描工具,能在用户发现问题之前,精准揪出这类隐患(以及慢查询类问题)。把它想象成你数据库的 linter。
本文适用于托管后端。Advisors 只读取你的 schema(不会做任何修改),并将发现的问题按安全和性能两类分组展示,按严重程度从高到低排列。它与 RLS 策略模板配合使用:模板帮你应用安全的访问规则,Advisors 告诉你哪里忘记应用了。
安全
ALTER TABLE … ENABLE ROW LEVEL SECURITY;search_path 的函数可能被劫持。修复方式:在函数中设置 SET search_path = ''。性能
notes 开启 RLS,让每个用户只能看到自己的数据")。如果你只看一条:一张未启用 RLS 的表,一旦后端通过公共匿名密钥对外可访问,就是随时可能触发的数据泄露。Advisors 将其标记为错误是有原因的——上线前务必修复。托管后端为每个项目提供支持 RLS 的 Postgres;Advisors 则确保你真的用上了它。