prisma 无法连接到 postgresql

prisma can't connect to postgresql

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

-错误

-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”。

不知道为什么prisma连接不上
我是不是漏了什么?

对于 运行 对此感兴趣的任何人,请参阅上面关于答案的评论!

从数据库密码中删除符号(托管在 AWS RDS 上)解决了我的问题。

用百分比编码替换特殊字符

确保 .env 文件中的 DATABASE_URL 中的特殊字符已替换为百分比编码。

例如,如果您的用户名或密码包含 @ 个字符,则应将其替换为等效的百分比编码,即 %40。对于 # 它是 %23 等等。请参阅下面的列表。

百分比编码

以下是常用特殊字符的百分比编码:

Special Character Percent Encoding
! %21
# %23
$ %24
% %25
& %26
' %27
( %28
) %29
* %2A
+ %2B
, %2C
/ %2F
: %3A
; %3B
= %3D
? %3F
@ %40
[ %5B
] %5D
newline %0A or %0D or %0D%0A
space %20
" %22
% %25
- %2D
. %2E
< %3C
> %3E
\ %5C
^ %5E
_ %5F
` %60
{ %7B
| %7C
} %7D
~ %7E
£ %C2%A3
%E5%86%86