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

Reply via email to