On Sep 3, 2011, at 9:46 PM, David E. Wheeler wrote:

> On Sep 3, 2011, at 7:27 PM, Mr. Puneet Kishor wrote:
> 
>> I am on Mac OS X Lion with Pg 9.0.x, Perl 5.14.1, and the latest iterations 
>> of DBI and DBD::Pg. My code is pretty straightforward
>> 
>>   my $dbh = DBI->connect("dbi:Pg:dbname=macromap;host=localhost;port=5432", 
>> 'postgres', 'postgres');
>>   my $sth = $dbh->prepare( .. );
>>   $sth->execute;
>>   while (my (retrieved columns) = $sth->fetchrow_array) {
>>       do something with retrieved columns  
>>   }
>> 
>> The code bombs with the message:
>> 
>> DBD::Pg::st execute failed: server closed the connection unexpectedly
>>      This probably means the server terminated abnormally
>>      before or while processing the request. at ...
> 
> IIRC, I've seen that when the back end had segfaulted. What do you see in 
> your PostgreSQL log?
> 

The only line of interest I can see is 'LOG:  unexpected EOF on client 
connection'

On a related note, I am finding that this is possibly because $dbh is getting 
automatically closed. From the docs:

"InactiveDestroy (boolean)

If set to true, then the "disconnect" method will not be automatically called 
when the database handle goes out of scope. "

So, I am recreating $dbh, and it seems to be working. Would like to know 
though, how and why the dbh is getting disconnected.


Reply via email to