"Marc G. Fournier" <[EMAIL PROTECTED]> writes: > >> Why all the choices? What cases are there for doing one without the > >> other? If you want to get 'fine tuned', do a 'REINDEX TABLE' ... I can > >> see REINDEX SYSTEM and REINDEX DATABASE (includes SYSTEM), but not the > >> USER one .. > > > > The main argument I can think of for REINDEX USER is that it could be > > executed by someone who isn't necessarily superuser. Not sure how > > important that is, though. > > Couldn't behaviour of REINDEX DATABASE not take that into account, and 'skip' > the system indices if not superuser?
I can see a reasonable argument for them to be separated like this. If I wanted to reindex everything in sight in a large database I would want to control when each of my user tables was reindexed -- some of them would take all night for a single table. But all the system tables together should never be so large as to be a problem doing them in a single batch and I would never be able to enumerate them all myself. So I would probably start with a REINDEX SYSTEM and then go through my tables and group them into chunks to run in each maintenance window available. Of course online index rebuilds would be even better :) -- greg ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly