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