创建本地Supabase开发环境时遇moddatetime扩展权限错误
解决本地Supabase执行
supabase start时的moddatetime权限错误 调整迁移文件的执行角色
报错核心是执行CREATE EXTENSION的用户缺少权限,本地Supabase默认超级用户为postgres,可以在目标迁移文件(20250315203000_remote_schema.sql)的CREATE EXTENSION语句前切换到超级用户:SET ROLE postgres; CREATE EXTENSION IF NOT EXISTS "moddatetime" WITH SCHEMA "extensions"; -- 若需要切回原执行角色,替换为你实际使用的角色(如authenticated) SET ROLE authenticated;给目标用户授予扩展创建权限
不想切换角色的话,直接给执行迁移的用户添加对应权限,在迁移文件开头加入:-- 替换为你实际执行迁移的用户名 GRANT CREATE ON SCHEMA extensions TO your_target_user;本地开发环境可临时给用户超级权限(生产环境严禁这么做):
ALTER ROLE your_target_user SUPERUSER;清理本地环境后重试
修改迁移文件后仍报错的话,先彻底清理本地Supabase容器再重启:supabase stop --no-backup supabase start
内容的提问来源于stack exchange,提问作者kjhughes
相关产品推荐
相关产品推荐

