Prisma 无法连接到 postgresql

sdy*_*sdy 4 postgresql prisma

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

-错误 在此处输入图片说明

-棱镜/.env

DATABASE_URL=postgresql://postgres:password@localhost:5432/linker
Run Code Online (Sandbox Code Playgroud)

-schema.prisma

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}
Run Code Online (Sandbox Code Playgroud)

所以,首先,我检查了端口号是否正确,5432 是否正确,因为我使用了默认端口号。我还检查了 postgresql.conf 文件,该文件设置为 "listen_address="*"" , "port=5432"。

在此处输入图片说明

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

在此处输入图片说明

我不知道为什么 Prisma 无法连接
我是不是遗漏了什么?

use*_*933 6

对于遇到此问题的任何人,请参阅上面对答案的评论!

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


Yog*_*ity 6

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

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

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

百分比编码

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

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

  • @user210757,仅在您的用户名和密码中。在你的情况下只有“$$”。这将导致“mysql://USER:PA%24%24WORD@HOST:PORT/DATABASE?connection_limit=5”。我希望您还在真实网址中提供了 HOST、PORT 和 DATABASE 的实际值,这只是一个示例字符串。 (2认同)