Tomasz Rakowski <mourawi@yahoo.com> writes:
> The strange thing is that number of pages allocated for "t_ais_position" table and "t_ais_position_pkey" index
haven'tchanged
> (so autovacuum works ok on them) , but the number of pages allocated to "ix_t_ais_position_update_time" index
increased
> from 250 to 2218 (x 9 times).
> "ix_t_ais_position_update_time" index is created as "create index ix_t_ais_position_update_time on
t_ais_position(update_time)",so it is suppose to be updated very frequently (as main table). The other index
"t_ais_position_pkey"is on primary key and values doesn't change at all ....
I think you may be running into one of the usage patterns that btree
vacuuming doesn't clean up very well. Do you initially create a lot of
rows with nearby update_times, and eventually remove all but a few?
The worst case is where you're leaving only one live row per index page.
The current VACUUM code can only recycle index pages that have become
totally empty ...
regards, tom lane