Fix excessive memory consumption in the new sort pre-reading code. LogicalTapeRewind() should not allocate large read buffer, if the tape is completely empty. The calling code relies on that, for its calculation of how much memory to allocate for the read buffers. That lead to massive overallocation of memory, if maxTapes was high, but only a few tapes were actually used.
Reported by Tomas Vondra Discussion: <7303da46-daf7-9c68-3cc1-9f83235cf...@2ndquadrant.com> Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/b56fb691b0033f9b86e0552bd5adfd485f05eef6 Modified Files -------------- src/backend/utils/sort/logtape.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers