为什么我不能连接到Perl的postgres?

我相信我已经正确设置了Pg,但我的脚本似乎没有连接到数据库.我正在测试:

$database="networkem";
$user="postgres";
$password="";
$host="localhost";

$dbh = DBI->connect("DBI:Pg:dbname=$dbname;host=$host", $user, $password);

我的pg_hba读到:

host  all  postgres   127.0.0.1  255.255.255.255   trust

我可以通过命令行使用psql,并使用-i选项启动postmaster.我错过了什么?

我还尝试了另一个通过psql正常工作的用户:

$user="jimbo"; $password="p2ssw0rd";

与pg_hba阅读:

host    all    jimbo   127.0.0.1    255.255.255.255    trust
最佳答案
DBI-> errstr将说明连接失败的原因,而不是调试20个问题来调试您的设置.

my $dbh = DBI->connect(...) or die DBI->errstr;

虽然如果我不得不猜测…因为Postgres基于主机和登录用户进行身份验证,我怀疑你给Postgres连接的用户名和你登录的Unix用户之间的混淆.

转载注明原文:为什么我不能连接到Perl的postgres? - 代码日志