在Vercel搭建多租户应用时执行npx prisma db push遇P1001错误
解决P1001无法连接aws.connect.psdb.cloud数据库的问题
首先明确:aws.connect.psdb.cloud是PlanetScale的数据库服务地址,不是AWS原生数据库服务(比如RDS),所以你在AWS控制台找不到这个服务器是正常的——PlanetScale是Vercel官方合作的数据库提供商,该教程默认使用它。
以下是分步排查方案:
确认数据库实例状态
登录PlanetScale控制台(如果是通过Vercel项目创建的,可直接从Vercel项目的「存储/数据库」入口跳转),找到教程中创建的数据库,检查它是否处于活跃状态,没有被暂停或删除。核对连接配置
打开项目根目录的.env文件,检查DATABASE_URL的格式和参数:- 确保URL是从PlanetScale控制台复制的官方连接字符串,对应5432端口的格式类似
postgres://<USERNAME>:<PASSWORD>@aws.connect.psdb.cloud/<DB_NAME>?sslmode=require - 确认用户名、密码、数据库名称完全匹配,注意PlanetScale的密码是一次性生成的,若已丢失需在控制台重新创建。
- 确保URL是从PlanetScale控制台复制的官方连接字符串,对应5432端口的格式类似
检查网络连通性
- 测试本地网络能否访问该地址:执行
telnet aws.connect.psdb.cloud 5432或nc -zv aws.connect.psdb.cloud 5432,如果连接失败,可能是本地防火墙、VPN、代理拦截了请求,尝试关闭后再试。 - 若你手动设置了PlanetScale的IP白名单,需将当前设备的公网IP添加到白名单中。
- 测试本地网络能否访问该地址:执行
重新生成连接字符串
若上述配置都没问题,直接在PlanetScale控制台重新生成数据库的连接字符串,复制替换.env中的DATABASE_URL,然后重新执行npx prisma db push。
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

