You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js中Supabase与Prisma认证错误:npx prisma db push执行失败

解决Prisma连接Supabase时的SASL认证失败问题
  • 检查DATABASE_URL的密码编码
    Supabase提供的DATABASE_URL中,密码如果包含特殊字符(如@、/、+等),必须进行URL编码才能正确解析。比如把@替换成%40,/替换成%2F,避免因字符解析错误导致认证失败。

  • 验证Supabase数据库的角色与权限
    登录Supabase控制台,进入「数据库」→「角色」,确认postgres角色的密码和DATABASE_URL中的密码完全一致;再到「数据库」→「连接池」,确认外部连接权限已开启,没有限制IP或角色访问。

  • 更新Prisma到最新版本
    旧版Prisma可能与Supabase使用的PostgreSQL版本存在兼容性问题,执行以下命令更新:

    npm install prisma@latest
    

    更新完成后重新执行npx prisma db push。

  • 调整Prisma数据源配置
    在schema.prisma的datasource块中添加SSL配置,或追加连接池适配参数:
    方法一:添加SSL模式

    datasource db {
      provider = "postgresql"
      url      = env("DATABASE_URL")
      sslmode  = "require"
    }
    

    方法二:在DATABASE_URL末尾追加?pgbouncer=true,适配Supabase的pgbouncer连接池认证逻辑。

  • 排查本地SSL环境
    确保本地环境支持SSL连接,若存在证书问题,可尝试将DATABASE_URL中的SSL参数改为?sslmode=prefer(优先推荐使用require以保证安全性)。

内容的提问来源于stack exchange,提问作者Louis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:58:20