On Mon, Jun 21, 2010 at 12:41 PM, Yuhui <xingyu...@gmail.com> wrote: > > The following bug has been logged online: > > Bug reference: 5516 > Logged by: Yuhui > Email address: xingyu...@gmail.com > PostgreSQL version: 8.3,8.2,8.1 > Operating system: Linux,Windows > Description: Memory grows up problem > Details: > > Do the follow setp to reproduce the problem: > 1, > CREATE TABLE mem_leak(A INT, B char(50) default 'abcdefg'); > 2, > INSERT INTO mem_leak(a) VALUES(generate_series(1,200000000)); > > The memory which the execution process occupation will grows larger and > larger until all the memory is gone or the process is over or the process is > killed by the os.
I'm afraid that just how set-returning-functions like generate_series() worked prior to 8.4. They build a result set in memory for all their result records. > If in create table statementthe "B char(50)" is changed to "B varchar(50)" > or delete the "default 'abcdefg'" the memory will not grow anymore. > > The problem is not happen in the 8.4 above version. There are lots of improvements in each version. Not every one can be back patched as a bug fix. Definitely not major api changes like this. -- greg -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs