Re: Index size increases after VACUUM FULL
От | Heikki Linnakangas |
---|---|
Тема | Re: Index size increases after VACUUM FULL |
Дата | |
Msg-id | 48E24439.70509@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Index size increases after VACUUM FULL ("Gurjeet Singh" <singh.gurjeet@gmail.com>) |
Список | pgsql-hackers |
Gurjeet Singh wrote: > On Tue, Sep 30, 2008 at 4:49 PM, Heikki Linnakangas < > heikki.linnakangas@enterprisedb.com> wrote: > >> Gurjeet Singh wrote: >> >>> On Tue, Sep 30, 2008 at 3:09 PM, Heikki Linnakangas < >>> heikki.linnakangas@enterprisedb.com> wrote: >>> >>>> That's normal. VACUUM FULL creates new index pointers for the tuples it >>>> moves, which can lead to a bigger index. If it bothers, REINDEX will pack >>>> the indexes tighter again. >>>> >>> >>> That explains it... and yes, REINDEX did bring the index size back to >>> normal. >>> >>> Would it make sense to mention this in docs of VACUUM FULL? Either at >>> >>> http://www.postgresql.org/docs/8.3/static/routine-vacuuming.html >>> >>> or at >>> >>> http://www.postgresql.org/docs/8.3/static/sql-vacuum.html >>> >> Yeah, maybe. Want to suggest a wording? > > > VACUUM FULL may cause a noticeable increase in size of the indexes of the > tables that are vacuumed; this is because the VACUUM operation makes new > entries in the index for the tuples/rows that have just been moved. > > OR > > VACUUM FULL may cause a noticeable increase in size of the indexes, that are > on the tables being vacuumed; this is because the VACUUM operation makes > new entries in the index for the tuples/rows that have just been moved. > > Followed By: > > An appropriate REINDEX command (REINDEX database|table|index ) can reduce > the size of such indexes. > > > I think it makes sense to put this on both the above mentioned URLs. Looking closer, we do already have this in the 8.4devel version of the docs: http://developer.postgresql.org/pgdocs/postgres/routine-vacuuming.html#VACUUM-BASICS "... Another disadvantage of VACUUM FULL is that while it reduces table size, it does not reduce index size proportionally; in fact it can make indexes larger." and in the next section: "... Also, moving a row requires transiently making duplicate index entries for it (the entry pointing to its new location must be made before the old entry can be removed); so moving a lot of rows this way causes severe index bloat. " -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: