无法通过 PSQL 或 php 连接到 postgres,仅 pgAdmin4

Can't connect to postgres via PSQL or php, only pgAdmin4

我安装了 PostgreSQL 12 并使用 Windows 10。我的目标是通过 php 连接到 postgre,因为它不起作用 我尝试使用 plsql 但它也不起作用,我总是得到(使用 PDO 的 plsql 和 php):

FATAL: password authentication failed for user "postgres"

Connection via plsql in cmd

但是,当尝试通过 pgAdmin4 时,我可以连接并访问我的数据库。我首先使用我的 root 密码,然后有时使用我的 postgres 用户密码,所以我确定我的密码有效。

这是我的 pg_hba.conf 文件: pg_hba.conf file

我有一个为 postgres 设置的密码,它是 vua pgAdmin4 设置的。

我不明白为什么它会以一种方式工作而不是另一种方式,有人可以帮助我吗?

所以在尝试了几件事之后,我发现 plsql 和 php 错误是由于错误的端口被寻址。

默认使用 5432,但出于某种原因我的配置使用的是 5433。 您可以在 pgAdmin4 中找到此信息,方法是打开 PostgreSQL 12 属性,然后检查连接选项卡。

要更改我使用的 plsql 中使用的端口:

psql -U postgres -p 5433

如果你有同样的问题,请通过你配置的端口更改 5433,如果使用 php 的 PDO,你还需要指定端口。