Обсуждение: Backend sent D message without prior T
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
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
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
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