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 по дате отправления: