Re: [SQL] Deleting indexes before vacuum?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [SQL] Deleting indexes before vacuum?
Дата
Msg-id 7175.943117272@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [SQL] Deleting indexes before vacuum?  (Oleg Bartunov <oleg@sai.msu.su>)
Ответы Re: [SQL] Deleting indexes before vacuum?
RE: [SQL] Deleting indexes before vacuum?
Список pgsql-sql
Oleg Bartunov <oleg@sai.msu.su> writes:
> The question is: what's the right way to do drop index/vacuum/create ?
> Do I need transaction ?

VACUUM should not be run inside a transaction block.  (I am planning to
make the code enforce this for 7.0, but it doesn't yet.)  So you can't
protect the whole sequence with a transaction.  AFAICS the only real
problem is that if you are depending on UNIQUE indexes to catch
attempts to insert duplicate data, an insertion that got in between
the drop and recreate wouldn't get checked.

I have been toying with the notion of ripping out the existing VACUUM
index handling code and putting in fresh code that would simply do an
index drop and rebuild ;-).  This could happen inside VACUUM's exclusive
lock on the table, so it'd be perfectly safe whereas doing it the manual
way is not.  But I do not want to do this unless Vadim approves it as a
good idea --- perhaps the existing index-vacuuming code can be fixed to
be an even better solution than this.  I haven't looked at the code to
understand why it's so slow or whether there's a way to make it better.
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Pham, Thinh"
Дата:
Сообщение: RE: [SQL] Deleting indexes before vacuum?
Следующее
От: Oleg Bartunov
Дата:
Сообщение: Re: [SQL] Deleting indexes before vacuum?