Re: Extreme bloating of intarray GiST indexes

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Josh Berkus <josh@agliodbs.com>
Cc: postgres hackers <pgsql-hackers@postgresql.org>
Date: 2011-04-28T20:01:59Z
Lists: pgsql-hackers
Josh Berkus <josh@agliodbs.com> writes:
> I'm currently looking at a database which has some extreme bloating of
> intarray GiST indexes.  As in 1000% bloating in only a few months.  This
> is not a particularly high-transaction-rate database, so the bloating is
> a little surprising; I can only explain it if vacuum wasn't cleaning the
> indexes at all, and maybe not even then.

> We're currently instrumenting the database so that we can collect a bit
> more data on update activity, but in the meantime, has anyone seen
> anything like this?

1. What PG version?
2. If new enough to have contrib/pgstattuple, what does pgstattuple()
   have to say about the index?

I'm suspicious that this might be bloat caused by a bad picksplit function,
not from having a lot of dead entries in the index.  We've fixed several
other bogus picksplit functions in contrib in the past.

			regards, tom lane