tom lane initially wrote:
> Restructuring the tree during page deletion
> -------------------------------------------
>
> We will delete only completely-empty pages. If we were to
> merge nearly-empty pages by moving data items from one page
> to an adjacent one, this would imply changing the parent's
> idea of the bounding key between them --- which is okay if we
> are just deleting an internal key in the parent, but what if
> the pages have different parent pages?
and a bit later wrote:
> My feeling is that what we need to fix now is index bloat during
> normal operation.
How about doing deletion of partial pages with reorganization among
sibling pages only (where the parent pages are the same)? This avoids
the "messiness" of propogating the deletes to differing parent pages but
gets most of the value of reorganization.
ISTM, that a VACUUM that only reclaims empty pages will be helpful in
certain cases but won't help much at all in many other common "normal
operation" cases which would be helped by partial reorganization.
- Curtis