本地Supabase CLI搭建nextjs-user-management返回406错误求助
排查Supabase CLI本地环境下PGRST106错误的方向
使用Supabase CLI运行nextjs-user-management示例项目时,本地环境创建用户后访问账户页或更新用户数据出现406错误,错误响应如下:
{ "code": "PGRST106", "details": null, "hint": null, "message": "The schema must be one of the following: " }
切换至线上Supabase环境则功能正常,说明问题出在本地配置,可从以下方向排查:
检查本地Supabase实例的schema完整性
- 执行
supabase status查看本地实例状态,确认服务正常运行 - 打开本地Supabase Studio(默认地址:http://localhost:54323),检查数据库是否存在
publicschema,且该schema下包含profiles表(示例项目核心依赖表) - 若schema或表缺失,执行
supabase db reset重新初始化本地数据库,确保迁移脚本正确执行
- 执行
验证PostgREST的schema白名单配置
- 打开本地Supabase配置文件
supabase/config/config.toml - 检查
db.schema配置项,确认其包含public(示例项目使用public schema存储用户数据),正确配置示例:db.schema = ["public", "auth"] - 修改配置后执行
supabase restart重启本地服务
- 打开本地Supabase配置文件
确认本地环境变量正确性
- 检查
.env.local文件,确保NEXT_PUBLIC_SUPABASE_URL指向本地实例(默认:http://localhost:54321) - 确认
NEXT_PUBLIC_SUPABASE_ANON_KEY为本地实例的匿名密钥(可通过supabase status命令获取),避免混用线上环境密钥
- 检查
检查迁移脚本执行状态
- 查看
supabase/migrations目录下的迁移脚本,确认所有脚本已在本地实例执行 - 执行
supabase db diff对比本地数据库与迁移脚本的差异,若有不同执行supabase db push同步变更
- 查看
查看服务日志定位细节
执行supabase logs -f实时查看本地Supabase服务日志,重点关注PostgREST组件的报错信息,可获取schema验证失败的具体原因
内容的提问来源于stack exchange,提问作者brianc
相关产品推荐
相关产品推荐

