我在我的机器上安装了Postgres,我正在尝试使用它连接到它Perl.
$database = "heatmap";
$user = "postgres";
$password = "<password>";
#connect to Postgres database
my $db = DBI->connect(
"DBI:Pg:database=$db;",
$user,
$password
) or die "Can't Connect to database: $DBI::errstr\n";
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
DBI connect('database=;','postgres',...) failed: FATAL: password authentication failed for user "souzamor" at C:/Users/souzamor/workspace/Parser/Parser.pl line 13.
Can't Connect to database: FATAL: password authentication failed for user "souzamor"
Run Code Online (Sandbox Code Playgroud)
souzamor是我的Windows用户名.但是,我正在尝试连接postgres.我继续创建了一个名为souzamorPostgres 的用户,但我得到了:
DBI connect('database=;','souzamor',...) failed: FATAL: database "user='souzamor'" does not exist at C:/Users/souzamor/workspace/Parser/Parser.pl line 13.
Can't Connect to database: FATAL: database "user='souzamor'" does not exist
Run Code Online (Sandbox Code Playgroud)
我对Postgres全新.有任何想法吗?谢谢
我想你的意思是
my $db = DBI->connect(
"DBI:Pg:database=$database",
Run Code Online (Sandbox Code Playgroud)
代替
my $db = DBI->connect(
"DBI:Pg:database=$db;",
Run Code Online (Sandbox Code Playgroud)
编辑
根据这个,它应该是:
my $dbh = DBI->connect("dbi:Pg:dbname=$database", $user, $password);
Run Code Online (Sandbox Code Playgroud)