join problems: FATAL 1: palloc failure: memory exhausted

From: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
To: hackers(at)postgreSQL(dot)org
Subject: join problems: FATAL 1: palloc failure: memory exhausted
Date: 1998-07-30 23:52:24
Message-ID: Pine.GSO.3.96.SK.980731032232.28062B-100000@ra
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Below is an example of my query, which returns no plan and produces
FATAL 1: palloc failure: memory exhausted while postgres 'eats'
almost 113 Mb of RAM. This happens with pgsql 6.3.2+patches plus latest
Vadim's one on Linux 2.0.35 libc5. Sorry for variable names :-)
I remember discussion prior 6.3.2 about optimization of join and
tried various -f options but this doesn't helps.
When I run postmaster in debug mode I noticed some complains about
geqo config file doesn't exists but not sure if this important.
When I tried explain with less joins I got very bad plans with no
indices used. Tables are not big - about 1000 records - just
a classificators (2 columns) and only work_flats has 31 columns.
Most columns have int2, int4 types. So database looks very simple and
I didn't expect any problem.
Of course there are a bunch of indices and I did vacuum before query.
Currently I have to run a bunch of queries and do joins
by hand (using perl) :-(

Does development version 6.4 has some improvements ? I tried
latest snapshot but couldn't run because of problem with initdb and
missing anonymous cvs account.

Regards,

Oleg

flats=> \i test.sql
explain select
a.ROOMS, b.STATION, a.STREET, a.HOUSE_NO, a.FLAT_NO,
float8(a.PRICE)/1000.0, a.DO_METRO, c.SPOSOB_SH, a.FLOOR,
e.HOUSE_TYPE_SHORT, a.HOUSE_FLOORS, float8(a.ALL_SQR)/100.0,
float8(a.LIVE_SQR)/100.0, float8(a.KITCHEN)/100.0, f.SANUZEL_SHORT,
a.SANUZEL_NO, a.BALKON, a.LODZHIA, a.HAVE_PHONE, a.HAVE_LIFT,
a.HAVE_MUSOR, g.POL_SHORT, h.SOST_SHORT, i.STATUS_SHORT, a.COMMENT
from WORK_FLATS a, METRO_STATIONS b, SPOSOB c, SERIALS d,
HOUSE_TYPE e, SANUZELS f, POLS g, SOSTS h, STATUS i
where b.STATION_ID = a.METRO_ID and c.SPOSOB_ID = a.DO_METRO_ID and
a.SERIAL_ID = d.SERIAL_ID and d.HOUSE_TYPE_ID = e.HOUSE_TYPE_ID and
f.SANUZEL_ID = a.SANUZEL and g.POL_ID = a.POL_ID and
h.SOST_ID = a.SOST_ID and i.STATUS_ID = a.STATUS_ID and
a.rooms = 1;
FATAL 1: palloc failure: memory exhausted

_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Vadim Mikheev 1998-07-31 00:41:00 Re: [HACKERS] join problems: FATAL 1: palloc failure: memory exhausted
Previous Message Dr. Michael Meskes 1998-07-30 19:42:39 Re: [HACKERS] Q about read committed in Oracle...