问题描述
我已经安装了Postgresql 12并使用Windows10。我的目标是通过PHP连接到postgre,因为它在我尝试使用plsql时不起作用,但也没有起作用,我总是得到(使用plsql和PHP都可以)使用PDO):
FATAL: password authentication Failed for user "postgres"
但是,当尝试通过pgAdmin4时,我可以连接并访问我的数据库。我先使用root密码,然后再使用postgres用户一个,所以我确定密码可以使用。
这是我的pg_hba.conf文件: pg_hba.conf file
我为postgres设置了一个密码,该密码设置为vua pgAdmin4。
我不明白为什么它会以一种方式起作用而不能以另一种方式起作用,有人可以帮助我吗?
解决方法
因此,尝试了几件事之后,我发现plsql和php错误是由于地址错误所致。
默认使用5432,但是由于某些原因,我的配置使用了5433。 您可以通过打开PostgreSQL 12属性,然后在“连接”选项卡中签入,在pgAdmin4中找到此信息。
要在我使用的plsql中更改使用的端口,
psql -U postgres -p 5433
如果遇到相同的问题,请通过配置的端口更改5433,如果使用php的PDO,还需要指定端口。