index growth problem
От | Graham Davis |
---|---|
Тема | index growth problem |
Дата | |
Msg-id | 4536A8A3.1050409@refractions.net обсуждение исходный текст |
Ответ на | Re: Performance Optimization for Dummies 2 - the SQL ("Carlo Stonebanks" <stonec.register@sympatico.ca>) |
Ответы |
Re: index growth problem
|
Список | pgsql-performance |
I have a question about index growth. The way I understand it, dead tuples in indexes were not reclaimed by VACUUM commands in the past. However, I've read in a few forum posts that this was changed somewhere between 7.4 and 8.0. I'm having an issue where my GIST indexes are growing quite large, and running a VACUUM doesn't appear to remove the dead tuples. For example, if I check out the size an index before running any VACUUM : select pg_relation_size('asset_positions_position_idx'); pg_relation_size ------------------ 11624448 (1 row) The size is about 11Mb. If I run a VACUUM command in verbose, I see this about the index: INFO: index "asset_positions_position_idx" now contains 4373 row versions in 68 pages DETAIL: 0 index pages have been deleted, 0 are currently reusable. CPU 0.00s/0.00u sec elapsed 0.16 sec. When I run the same command to find the size after the VACUUM, it hasn't changed. However, if I drop and then recreate this index, the size becomes much smaller (almost half the size): drop index asset_positions_position_idx; DROP INDEX CREATE INDEX asset_positions_position_idx ON asset_positions USING GIST (position GIST_GEOMETRY_OPS); CREATE INDEX select pg_relation_size('asset_positions_position_idx'); pg_relation_size ------------------ 6225920 (1 row) Is there something I am missing here, or is the reclaiming of dead tuples for these indexes just not working when I run a VACUUM? Is it suppose to work? -- Graham Davis Refractions Research Inc. gdavis@refractions.net
В списке pgsql-performance по дате отправления: