我安装了PostgreSQL 12并使用Windows 10。我的目标是通过php连接到postgre,因为它不起作用。我尝试使用plsql,但它也不起作用,我总是得到(使用PDO的plsql和php(:
FATAL: password authentication failed for user "postgres"
通过cmd 中的plsql连接
但是,当尝试通过pgAdmin4时,我可以连接并访问我的数据库。我首先使用我的root密码,然后有时使用我的postgres用户密码,所以我确信我的密码有效。
这是我的pg_hba.conf文件:pg_hba.conf文件
我为postgres设置了一个密码,该密码设置为vua-pgAdmin4。
我不明白为什么它会以这种方式工作而不是以另一种方式工作,有人能帮我吗?
所以在尝试了几件事之后,我发现plsql和php错误是由于处理了错误的端口。
默认情况下使用5432,但出于某种原因,我的配置使用了5433。您可以在pgAdmin4中找到这些信息,方法是打开PostgreSQL 12属性,然后检查连接选项卡
要更改plsql中使用的端口,我使用了:
psql -U postgres -p 5433
通过您配置的端口更改5433如果您有同样的问题,如果使用php的PDO,您还需要指定端口。