我曾多次尝试将Prisma与postgreSQL连接起来。prisma显示此错误消息:“"postgresql://postgres:password@localhost:5432/linker")".中的错误:未定义:无效端口号
-error

-prisma/..env
DATABASE_URL=postgresql://postgres:password@localhost:5432/linker-schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}因此,首先,我检查了端口号,看看它是否正确,5432是正确的,因为我使用默认端口号。我还检查了postgresql.conf文件,该文件设置为“listen_address=”*“,"port=5432”。

然后我进入了pgAdmin4并查看了服务器的属性。端口号为5432,如下图所示,用户名设置为"postgres“。

我不知道为什么普莉丝玛不能
我漏掉了什么吗?
发布于 2021-06-02 08:09:48
如果有人遇到这个问题,请看上面的评论!
从db密码中删除符号(托管在AWS RDS上)为我解决了这个问题。
发布于 2022-08-27 21:17:14
为了在数据库连接字符串中使用密码,您应该将密码转换为URL编码格式。
接受的答案是正确的。
但是我想展示一个编程和简单的解决方案,因为手动替换密码中的特殊字符很容易出错。
您已经在您的计算机上安装了NodeJS (显然,因为您试图使用Prisma)
打开一个终端并启动一个NodeJS进程(当前目录无关紧要):
node然后输入这个,点击enter:
new URLSearchParams({pass: "YOUR_PASSWORD_WITH_SPECIAL_CHARACTERS"}).toString().substring(5)因此,您将获得打印到控制台的密码的URL编码版本:
'YOUR_PASSWORD_URL_ENCODED'复制它(没有引号),并在数据库连接字符串中使用它作为密码。
https://stackoverflow.com/questions/63684133
复制相似问题