Re: Subject: unbuffered results from libpq?

Поиск
Список
Период
Сортировка
От Timothy H. Keitt
Тема Re: Subject: unbuffered results from libpq?
Дата
Msg-id 3B092EC5.9060906@StonyBrook.Edu
обсуждение исходный текст
Список pgsql-interfaces
I realized after this post that one solution is to use a cursor.  You 
can then fetch in small chuncks and write to a local buffer.  The 
problem for a general interface applicaiton such as mine is nested 
transactions --- cursors can only be used within transactions which will 
fail if the the user has independently initiated a transaction (unless 
this has been fixed).

Tim

Alexey Nalbat wrote:

> Hello.
> 
> I have exactly the same question. Could anybody answer it?
> 
> My impression is that it can't be maid. Even use of functions PQsetnonblocking,
> PQsendQuery, PQgetResult, PQconsumeInput,.. doesn't help. Is it so?
> 
> Thanks.
> 
> 
>>My impression is that libpq buffers all results of a query.  Is there a 
>>way to get a "result stream" from the backend instead of having libpq 
>>read everything into a local buffer first?  Currently, my application, 
>>after a query, simply copies the entire buffer from the libpq side into 
>>storage on the application side.  This seems expensive for large 
>>queries.  I'd rather read results directly into storage on the 
>>application side, i.e., "while input get next value from backend".  (I 
>>know about libpqeasy, but this only iterates over the libpq buffer.)
>>
> 


-- 
Timothy H. Keitt
Department of Ecology and Evolution
State University of New York at Stony Brook
Stony Brook, New York 11794 USA
Phone: 631-632-1101, FAX: 631-632-7626
http://life.bio.sunysb.edu/ee/keitt/



В списке pgsql-interfaces по дате отправления:

Предыдущее
От: "Joel Hartshorn"
Дата:
Сообщение: Looking for Postgress
Следующее
От: "Erny"
Дата:
Сообщение: RE: Python as a procedural language