You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Supabase无法连接PostgreSQL数据库问题求助

解决Supabase PostgreSQL连接失败(P1001错误)的实用方案

1. 核对连接字符串的准确性

  • 打开你的.env文件,确认DATABASE_URLDIRECT_URL完全匹配Supabase控制台提供的连接信息:
    • 格式应为:postgresql://postgres:[你的数据库密码]@aws-0-ap-south-1.pooler.supabase.com:6543/postgres?pgbouncer=true
    • 重点检查:密码是否正确(特殊字符需URL转义,比如@要换成%40)、端口是否为6543(Supabase连接池默认端口)、主机地址是否与错误信息一致

2. 检查IP白名单与网络连通性

  • 登录Supabase控制台,进入「数据库」→「连接池」,确认本地公网IP已添加到「允许的IP地址」列表(动态IP可临时添加0.0.0.0/0测试,生产环境禁用此操作)
  • 在本地终端执行命令测试网络连通性:
    # Windows PowerShell测试命令
    Test-NetConnection aws-0-ap-south-1.pooler.supabase.com -Port 6543
    
    若连接失败,说明网络防火墙限制了6543端口的出站访问,需联系网络管理员开放权限

3. 修复依赖冲突与版本兼容

  • 你的package.json同时安装了pgpostgres两个PostgreSQL客户端库,可能引发冲突,建议删除其中一个:
    npm uninstall postgres
    
  • 更新Prisma到最新稳定版,规避版本兼容问题:
    npm install prisma@latest @prisma/client@latest
    

4. 直接验证数据库连接

  • psql命令直接测试连接,排除Prisma层面的问题:
    psql "postgresql://postgres:[你的密码]@aws-0-ap-south-1.pooler.supabase.com:6543/postgres"
    
    若该命令能成功连接,说明问题出在Prisma配置或依赖;若失败,说明是凭证、网络或Supabase端的问题

5. 确认Supabase服务状态

  • 检查Supabase ap-south-1区域的服务是否正常,无故障或维护(可通过Supabase控制台的状态提示确认)

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

火山引擎 最新活动