Prisma DB 无法连接到 AWS RDS

问题描述 投票:0回答:3

我有一个 nextjs 项目,它使用 prismaDB 作为 ORM。我能够很好地连接到本地 postgres 数据库,但在运行时遇到此错误

npx prisma migrate

错误:P1001:无法访问位于

db-name.*.us-west-2.rds.amazonaws.com
的数据库服务器:
5432

schema.prisma:

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
  //url    = "postgresql://master_username:master_password@aws_host:5432/db_name"
}

RDS 数据库当前是公开的,我确信我已正确复制 RDS 凭据。似乎没有任何我应该包含的连接工作,但我没有得到任何其他信息来说明为什么我无法到达数据库服务器。

postgresql next.js amazon-rds prisma
3个回答
0
投票

似乎您必须将

db-name.*.us-west-2.rds.amazonaws.com
替换为实际数据库的名称,除非您是为了提出这个问题而替换它的。特别是写着
db-name.*
的部分。

文档:https://www.prisma.io/docs/reference/api-reference/error-reference#common

P1001
表示在给定连接字符串的情况下找不到数据库,不一定是您提供的凭据错误。确保您指定了正确的数据库名称/主机以及使其适用于 AWS 所需的其他内容。


0
投票

不知何故,我在第三次删除并创建新数据库后能够连接到RDS。我通过 pgAdmin 确认连接,然后再次尝试将我的应用程序部署到 vercel。


0
投票

首先,您的 Db_url 模式是正确的,并且您的数据库实例也在运行并且是公共的。 唯一的问题是连接,因此我们需要确保 aws 实例具有开放端口并且防火墙没有阻止入站连接。 所以,我们需要配置安全组。

然后点击安全组id,点击编辑入站规则 这里您需要再添加两条规则。

0.0.0.0/0 或 ::/0 允许所有 IP 地址访问您的实例。

© www.soinside.com 2019 - 2024. All rights reserved.