Re: How often do I need to reindex tables? - Mailing list pgsql-general

From Tom Lane
Subject Re: How often do I need to reindex tables?
Date
Msg-id 16824.1172871578@sss.pgh.pa.us
Whole thread Raw
In response to Re: How often do I need to reindex tables?  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: How often do I need to reindex tables?  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-general
Jeff Davis <pgsql@j-davis.com> writes:
> Isn't a REINDEX still needed in the case of monotonically increasing
> keys, such as in a sequence or timestamp index? I also delete tuples, so
> that results in a forward-shifting range of keys.

No, that shouldn't be a problem, if you're maintaining a constant key
range width (that is, *all* the old entries get deleted).  The only
pattern I'm aware of that causes a problem is if you leave a small
subset of the keys behind, for instance insert every few minutes and
then later delete all but one entry per day.  In this situation you may
end up with an index containing as few as one entry per page.  We
don't have any mechanism short of REINDEX to collapse nonempty index
pages together, so that way lies bloat.  But if you delete all the old
entries then the pages get recycled and there shouldn't be a problem.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Large aggregate query running out of memory in ExecutorState
Next
From: "Joshua D. Drake"
Date:
Subject: Re: [HACKERS] WITH/RECURSIVE plans