elein <elein(at)varlena(dot)com> writes:
> The order of events seems to be vacuum indexes and then vacuum the
> table. Wouldn't we get more bang if we vacuumed the table and then
> the indexes?
No, the problem is that we can't recycle removed index pages until we
are certain there are not any transactions referencing or about to
reference the pages. Postponing the recycle to a later command seems
the only very practical way to deal with that --- you don't want VACUUM
hanging up waiting for transactions that may or may not finish any time
soon. See the notes in access/nbtree/README.
regards, tom lane