Reclaiming Index Free Pages
I was wondering how index access methods reclaim the free disk pages after
they are no longer used.
I noticed that only btree access method uses the free space map. I couldn't
find in the source code of gist special handling for free pages ( like
maintaining a free list ). Does that mean that GiST indexes ( as an example
) will continue to grow forever wasting any deleted pages till the index is
rebuilt ? I also wonder why don't access methods maintain a list of free
pages for each index ?
Ramy M. Hassan
Purdue University
Research Scholar
"Ramy M.Hassan" <rhassan@cs.purdue.edu> writes:
I was wondering how index access methods reclaim the free disk pages after
they are no longer used.
Btree and hash can both recycle unused pages, though neither is very
good about physically shrinking the file (neither can move existing
pages for instance). I dunno anything about rtree or gist though.
If you've got a horribly bloated index that you need to physically
shrink, REINDEX is the recommended answer at the moment.
regards, tom lane