2011-11-04 94 views
4

我决定最近从MySQL切换到PostgreSQL,主要是为了学习一个新的数据库。这很痛苦,但我认为我很接近。无法通过php pdo驱动程序连接到PostgreSQL数据库

我正在使用php和PDO,我的PDO驱动程序已成功安装和配置。

打开我的网站,我得到的错误:

Connection failed: SQLSTATE[08006] [7] FATAL: Ident authentication failed for user "postgres" 

我使用下面的连接调用(我试过主叫用户的一些变化/ PW在$ DSN变量,并在不同的$ USER/$通变量,包括端口= 5432):

$dsn = 'pgsql:dbname=db1;host=localhost;user=postgres;password=pass'; 
$db = new PDO($dsn); 

此外,我能够登录到命令行我的数据库:

$ su postgres 

(通)

$ psql db1 

输出:

could not change directory to "/home/ec2-user" psql (8.4.9) Type "help" for help.

db1=#

任何想法?如果需要,我很乐意提供更多信息。

+0

你的pg_hba.conf文件是否正常?这是一个已知的痛苦在开始瓦特/ PostgreSQL ... – maraspin

+1

@maraspin:我_just_试图搞砸之前,刷新此页面。有效。我不得不将某些“身份”值切换为“信任”。你可以补充说,作为答案,我可以接受吗? –

+0

当然。答案已添加。 TNX。 :-) PS注意,虽然。对于太松的设置,您的安全性可能会受到威胁。一旦你确定你的问题存在于那里,我建议你再看一眼pg_hba.conf文档并采取相应的行动。你会看到......这是你需要用到PostgreSQL的任何东西;-) – maraspin

回答

6

您的pg_hba.conf文件是否正常?这是一个在PostgreSQL开始的痛苦源头。而且,你提到的情况是这类问题的一个很好的候选人。 :-)

+0

我不得不将我的本地和IPv4记录的值从'ident'更改为'trust'。最后,我有一个完整的LAPP(5.4)服务器。谢谢! –

+0

很高兴你找到了你的问题的来源。既然您确切知道在哪里放手,我建议您查看PostgreSQL文档,以便正确配置pg_hba.conf文件。对您的安全可能很重要。 – maraspin

相关问题