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

升级Prisma至3.0.2后执行prisma db push报P1017服务端关闭连接错误

Prisma 3.0.2 执行prisma db push报P1017错误解决方案

出现该问题的核心原因是Prisma 3.0.0~3.0.2版本的已知缺陷:迁移类命令使用的独立连接逻辑和2.x版本存在差异,默认连接超时阈值设置过短,当Postgres配置了短连接超时规则、SSL连接校验时,就会出现业务运行时的增删改查请求正常,但prisma db push等迁移命令连接被服务端主动断开的情况。

可按以下优先级尝试修复:

  • 优先升级Prisma版本
    官方在3.1.0版本中已经修复了该bug,直接将package.json中prisma和@prisma/client的版本号修改为≥3.1.0,重新安装依赖后再次执行prisma db push即可。
  • 调整数据库连接字符串参数(暂无法升级版本时使用)
    在你的DATABASE_URL连接串末尾追加连接超时参数,延长连接等待时长:
    原连接串无查询参数时添加:?connect_timeout=30&pool_timeout=30
    原连接串已有查询参数时添加:&connect_timeout=30&pool_timeout=30
    示例:
    postgresql://user:pass@127.0.0.1:5432/mydb?schema=public&connect_timeout=30&pool_timeout=30
  • 本地开发环境额外适配
    如果你使用的是本地无SSL配置的Postgres实例,Prisma 3.0默认优先尝试SSL连接也会触发该错误,可在连接串中追加&sslmode=prefer参数兼容非SSL连接场景。

验证修复效果时,可以先执行prisma -v确认版本配置正确,再执行迁移命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:18:01