<div dir="ltr"><div><div><div><div><div>Hi.<br></div>I'm using code for connect to DB:<br><span class=""><span><br>sub init {<br> my %opts = (@_);<br> my $dbh = delete $opts{'dbh'};<br><br> my ($user, $password, $dsn) = ($1, $2, $3) if ($opts{'c'} =~ /^([^:]+):(.+)\@(DBI:.+)$/);<br>
<br> undef $$dbh;<br> $$dbh = new AnyEvent::DBI<br> $dsn // $opts{'c'},<br> $user // "",<br> $password // "",<br> timeout => $opts{'timeout'},<br>
PrintError => 0,<br> AutoCommit => 1,<br> on_error => sub {<br> my $fatal = pop;<br><br> chomp $@;<br> print STDERR '[', AE::time, '|', ($dsn // $opts{'c'}), ']: ', $@, "\n";<br>
$fatal and init(dbh => $dbh, c => $opts{'c'}, timeout => $opts{'timeout'});<br> }<br> ;<br>}<br></span></span><br></div>When function get $fatal in on_error, it's reconnecting to DB. It's working with SQLite.<br>
</div>But when I try it with PostgreSQL, it's not working.<br></div>Had in STDERR "no connection to the server"(when shuting down PostgreSQL), but $fatal is undef.<br></div>What is problem with it?<br><div><br>
</div></div>