From what I understand:
On Mon, Jan 24, 2005 at 12:14:09PM -0800, Jeff Davis wrote:
> When you do a PQexec call in libpq, does PostgreSQL produce the entire
> result in memory on the server side, and then does libpq hold the entire
> result in memory after it retrieves it?
The server sends the data straight and then forgets it, but the client
library stores all the results before returning.
> The only time that the server sends parts of the result at a time is
> with a cursor, right? And libpq always holds the data that it gets back,
> right?
In a sense. The result of a FETCH is the whole resultset for that
statement, but it keeps the query around for other FETCHes. I don't
believe it holds the entire result (although maybe with a sort...???)
Hope this helps,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.