Josh Berkus <josh@agliodbs.com> writes:
> Jean-Gerard,
>> When backend hits the tsearch2 index, SIZE/RES grows until it reachs
>> 1GB, where I got the error.
>> PID UID PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
>> 20461 503 -5 0 765M 824M sleep biowai 4:26 33.20% postgres
> OK, next thing to try is upgrading to 7.4.7. Since you have 7.4.2, this
> should be a straightforward binary replacement.
This looks like it must be a memory leak in the gist indexing code
(either gist itself or tsearch2). I don't see any post-release fixes in
the 7.4 branch that look like they fixed any such thing :-(, so it's
probably still there in 7.4.7, and likely 8.0 too.
Jean-Gerard, can you put together a self-contained test case? I suspect
it need only look like "put some data in a table, make a tsearch2 index,
delete half the rows in the table, VACUUM FULL". But I don't have time
to try to cons up a test case right now, and especially not to figure
out what to do to duplicate your problem if it doesn't happen on the
first try.
regards, tom lane