Re: Disable result buffering to frontend clients
От | Richard Huxton |
---|---|
Тема | Re: Disable result buffering to frontend clients |
Дата | |
Msg-id | 45DD7A8B.3040001@archonet.com обсуждение исходный текст |
Ответ на | Disable result buffering to frontend clients (Konstantinos Krikellas <K.Krikellas@sms.ed.ac.uk>) |
Список | pgsql-performance |
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
В списке pgsql-performance по дате отправления: