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.