使用Supabase与Prisma构建Next.js项目时遇P1001连接错误求助
Supabase + Prisma 连接失败(P1001错误)排查方案
问题场景
我正在用Supabase搭配Prisma开发Next.js项目,schema.prisma配置如下:
generator client { provider = "prisma-client-js" previewFeatures = ["multiSchema"] } datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_URL") schemas = ["public", "auth"] }
执行npx prisma db push命令时,触发以下错误:
Error: P1001: Can't reach database server at `aws-0-ap-southeast-1.pooler.supabase.com`:`5432` Please make sure your database server is running at `aws-0-ap-southeast-1.pooler.supabase.com`:`5432`.
我是严格按照Supabase官方Prisma集成文档配置的DATABASE_URL和DIRECT_URL。
排查解决步骤
验证网络连通性
用ping aws-0-ap-southeast-1.pooler.supabase.com测试主机可达性,或者用telnet aws-0-ap-southeast-1.pooler.supabase.com 5432检查端口是否开放。如果无法连通,排查本地防火墙、VPN或代理设置,确保允许访问该地址和端口。检查Supabase项目状态
登录Supabase控制台,确认对应项目的数据库处于正常运行状态,没有暂停、欠费或异常告警。核对URL配置细节
检查环境变量中的DATABASE_URL和DIRECT_URL:- 确认主机名、端口号(默认5432)无拼写错误
- 确保URL中的用户名、密码、数据库名称与Supabase控制台显示的完全一致
- 区分连接池地址(
DATABASE_URL)和直连地址(DIRECT_URL),不要混淆配置
升级Prisma依赖
老旧版本的Prisma可能与Supabase连接池存在兼容性问题,执行以下命令升级到最新稳定版:npm update prisma prisma-client-js升级完成后重新执行
npx prisma db push。重启本地服务
若环境变量未正确加载,重启终端或本地开发服务器后再尝试执行命令。
内容的提问来源于stack exchange,提问作者Inaara Kalani
相关产品推荐
相关产品推荐

