Re: Disable result buffering to frontend clients

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Konstantinos Krikellas wrote:
Hi,

I am trying to execute some queries in PostgreSQL that produce a large
number of results and I do not want to display the output (redirect it
to /dev/null). I have tried the psql client with \o /dev/null option,
JDBC and libpq functions, but all of them have to buffer totally the
result before redirecting it. Is there any way to disable result
buffering, either on the client or on the server side?

Well, you could use a cursor, but that could change the plan (I believe it favours plans that return the first result quickly).

You could have a function that used FOR-IN-EXECUTE to run a query for you then just loop through the results, doing nothing. That would keep everything server-side.

If you really want to duplicate all the query costs except client-side buffering, the simplest might be to just hack the libpq source to discard any query results rather than buffering them - shouldn't be too difficult.

--
  Richard Huxton
  Archonet Ltd


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux