Thread: Backend sent D message without prior T

Backend sent D message without prior T

From
Antonis Antoniou
Date:
Hi,
I get the following message:
Backend sent D message without prior T

Does anyone knows about this message? I am expecting to retrieve
2818510  records and am using  PostgreSQL 7.1beta4.
Is there a way to solve it?

Thanks
    Antonis





Re: Backend sent D message without prior T

From
Tom Lane
Date:
Antonis Antoniou <a.antoniou@albourne.com> writes:
> I get the following message:
> Backend sent D message without prior T

> Does anyone knows about this message? I am expecting to retrieve
> 2818510  records and am using  PostgreSQL 7.1beta4.

IIRC, this is a fairly common symptom of the frontend app running out
of memory --- libpq loses sync with what the backend is sending, and
it doesn't handle that very gracefully.

I'd suggest using a cursor to retrieve the data in more manageable
chunks.

            regards, tom lane

Re: Backend sent D message without prior T

From
Antonis Antoniou
Date:
Tom Lane wrote:

> Antonis Antoniou <a.antoniou@albourne.com> writes:
> > I get the following message:
> > Backend sent D message without prior T
>
> > Does anyone knows about this message? I am expecting to retrieve
> > 2818510  records and am using  PostgreSQL 7.1beta4.
>
> IIRC, this is a fairly common symptom of the frontend app running out
> of memory --- libpq loses sync with what the backend is sending, and
> it doesn't handle that very gracefully.
>
> I'd suggest using a cursor to retrieve the data in more manageable
> chunks.
>
>                         regards, tom lane

This is strange because the machine has 1GB of memory.  Using the same
database on PostgreSQL 7.0.2  and on a machine that has 500MB of memory
the above query works fine.

    Regards
         Antonis


Re: Backend sent D message without prior T

From
Tom Lane
Date:
Antonis Antoniou <a.antoniou@albourne.com> writes:
> Tom Lane wrote:
>> IIRC, this is a fairly common symptom of the frontend app running out
>> of memory --- libpq loses sync with what the backend is sending, and
>> it doesn't handle that very gracefully.

> This is strange because the machine has 1GB of memory.  Using the same
> database on PostgreSQL 7.0.2  and on a machine that has 500MB of memory
> the above query works fine.

But what do you have the per-process memory limit set to on this
machine?  (ulimit, kernel MAXDSIZ parameter, or swap space limits might
be preventing your frontend from using all available memory.)

            regards, tom lane