Re: [PERFORM] Correct use of cursors for very large result sets in Postgres

2017-02-18 Thread Mike Beaton
> Seems odd. Is your cursor just on "SELECT * FROM table", or is there > some processing in there you're not mentioning? Maybe it's a cursor > WITH HOLD and you're exiting the source transaction? Hi Tom, I've deleted my own Stack Overflow answer in favour of Laurenz Albe's one. New TL;DR (I'm

Re: [PERFORM] Correct use of cursors for very large result sets in Postgres

2017-02-18 Thread Tom Lane
Mike Beaton writes: > One outstanding question I have. Based on a lot of helpful responses given > to the SO question I can now test and see what disk buffers are generated > (by setting `log_temp_files` to `0` and then `tail -f log`), as well as how > long it takes for results to start arriving.

Re: [PERFORM] Correct use of cursors for very large result sets in Postgres

2017-02-18 Thread Mike Beaton
I meant to say: "the `FETCH 1 FROM cursor` until exhausted pattern will always be safe". Nasty typo, sorry!