【发布时间】:2011-12-21 16:12:51
【问题描述】:
我最近决定从 MySQL 切换到 PostgreSQL,主要是为了学习一个新的数据库。这很痛苦,但我想我已经很接近了。
我正在使用php和PDO,我的PDO驱动已经安装和配置成功了。
打开我的网站,我收到错误:
Connection failed: SQLSTATE[08006] [7] FATAL: Ident authentication failed for user "postgres"
我正在使用以下连接调用(我尝试了在 $dsn 变量和单独的 $user/$pass 变量中调用 user/pw 的几种变体,包括 port=5432):
$dsn = 'pgsql:dbname=db1;host=localhost;user=postgres;password=pass';
$db = new PDO($dsn);
另外,我可以从命令行登录到我的数据库:
$ su postgres
(通过)
$ psql db1
输出:
无法将目录更改为“/home/ec2-user” psql (8.4.9) 类型 “帮助”寻求帮助。
db1=#
有什么想法吗?如果需要,我很乐意提供更多信息。
【问题讨论】:
-
你的pg_hba.conf文件还好吗?在开始使用 PostgreSQL 时,这是一个已知的痛苦来源......
-
@maraspin:我只是尝试在刷新此页面之前弄乱它。有效。我不得不将一些“身份”值转换为“信任”。您能否将其添加为答案以便我接受?
-
当然。答案已添加。肿瘤坏死因子。 :-) PS 注意,不过。设置太松散可能会危及您的安全。一旦你确定你的问题在那里,我建议你再看一眼 pg_hba.conf 文档并采取相应的行动。你会看到......无论如何,这是你需要使用 PostgreSQL 的东西 ;-)
标签: php postgresql pdo