John R Pierce <pierce@hogranch.com> writes:
> this still won't address the issue that the postgresql server itself
> ALSO marshals the entire result set into ITS memory before sending it to
> the client.
If it actually did that, then there would be an issue ... but it never
has, and very likely never will. The server sends rows on-the-fly as
they're computed. That is indeed the very reason that client libraries
tend to want to accumulate full resultsets: they're hiding that behavior
from applications, so as to make it look like you get either an error or
a full resultset, not some rows and then an error.
regards, tom lane