Thread: BUG #6378: exceeding memory usage while creating index in pg-9.1.2

BUG #6378: exceeding memory usage while creating index in pg-9.1.2

From
bock@openit.de
Date:
The following bug has been logged on the website:

Bug reference:      6378
Logged by:          Julian v. Bock
Email address:      bock@openit.de
PostgreSQL version: 9.1.2
Operating system:   Linux x86_64
Description:=20=20=20=20=20=20=20=20

When creating an index on an inet column the postmaster process tries to
allocate much more memory than it should in version 9.1.2.

In my test db (maintenance_work_mem =3D 1gb; shared_buffers =3D 256mb) the
CREATE INDEX in the script below runs out of memory after allocating several
GB. Note that this does not happen with version 9.1.1 (only a few hundred MB
are allocated).

-----------
create table iptest ( id serial primary key, ip inet );

insert into iptest ( ip )
  ( select ( '192.' || a || '.' || b || '.' || c )::inet
      from generate_series( 0, 127 ) a,
           generate_series( 0, 255 ) b,
           generate_series( 0, 255 ) c );

create index iptest_idx_1 on iptest ( ip );
-----------

Regards,
Julian v. Bock

Re: BUG #6378: exceeding memory usage while creating index in pg-9.1.2

From
"anarazel@anarazel.de"
Date:
This has been fixed since 9.1.2. If you browse the history and/or this mail=
ing list you should find a reference.

I just have my mobile here, so its a bit too hard to search for a reference=
....

Greetings,

Andres

Re: BUG #6378: exceeding memory usage while creating index in pg-9.1.2

From
Tom Lane
Date:
bock@openit.de writes:
> When creating an index on an inet column the postmaster process tries to
> allocate much more memory than it should in version 9.1.2.

Yeah, a memory leak was accidentally introduced into inet/cidr index
operations in 9.1.2.  It will be fixed in 9.1.3, or if you're in a hurry
the patch is here:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=6cf639dfbddbc44d027730ad1504886312bc905a

            regards, tom lane