From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, kar(at)kakidata(dot)dk, andrew(at)supernews(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: The Contrib Roundup (long) |
Date: | 2005-06-13 05:56:12 |
Message-ID: | 871x764x6r.fsf@stark.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Marc G. Fournier" <scrappy(at)postgresql(dot)org> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Marc G. Fournier | 2005-06-13 06:12:59 | Re: The Contrib Roundup (long) |
Previous Message | David Fetter | 2005-06-13 05:13:02 | Re: In RULEs, INSERT does not use DEFAULTs |