2011-11-04 46 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

相關問題