memory leak regression 9.1 versus 8.1
Joe Conway <mail@joeconway.com>
From: Joe Conway <mail@joeconway.com>
To: "Hackers (PostgreSQL)" <pgsql-hackers@postgresql.org>
Date: 2012-05-09T20:36:25Z
Lists: pgsql-hackers
Attachments
- 9.1-memory-leak-regression.sql (text/x-sql)
I'm working on an upgrade of PostgreSQL embedded in a product from version 8.1.x to 9.1.x. One particular PL/pgSQL function is giving us an issue as there seems to be a rather severe regression in memory usage -- a query that finishes in 8.1 causes an out of memory exception on 9.1. Using the same data on the same machine I see memory use stay steady at a reasonably low value on the 8.1 installation but steadily climb on 9.1 (I watched it go over 2 GB and canceled the query -- the production machines are 32 bit) The attached standalone script seems to reproduce the effect. On 8.1 memory usage remains steady and low, on 9.1 I watched it climb past 1.1 GB and canceled the query. I suspect the append node to be the culprit because if I skip the "UNION ALL", i.e. if I use one generate_series with 20 million rows instead of 10 with 2 million each, then I do not see the memory leak. The real function is actually selecting over many inherited tables (i.e. a partitioned table). Thoughts? Thanks, Joe -- Joe Conway credativ LLC: http://www.credativ.us Linux, PostgreSQL, and general Open Source Training, Service, Consulting, & 24x7 Support