<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>