Re: REINDEX vs VACUUM

Поиск
Список
Период
Сортировка
От Ron
Тема Re: REINDEX vs VACUUM
Дата
Msg-id 4dee765f-2196-90b9-efa1-896859552989@gmail.com
обсуждение исходный текст
Ответ на Re: REINDEX vs VACUUM  (Rébeli-Szabó Tamás <pub@rblst.info>)
Ответы Re: REINDEX vs VACUUM  (Rébeli-Szabó Tamás <pub@rblst.info>)
Re: REINDEX vs VACUUM  (Brad White <b55white@gmail.com>)
Re: REINDEX vs VACUUM  ("Peter J. Holzer" <hjp-pgsql@hjp.at>)
Список pgsql-general
I don't think VACUUM FULL (copy the table, create new indices and other 
metadata all in one command) actually vacuums tables.  It's a misleading name.

Something like REBUILD TABLE would be a better name.

On 1/4/23 07:25, Rébeli-Szabó Tamás wrote:
> Here is my understanding:
>
> REINDEX recreates the index from scratch, using the data stored in the 
> underlying table. It is the same as dropping and recreating the index 
> manually, with regard to the impact on the index file. It can free up 
> physical space in the file system. REINDEX will not vacuum the index.
>
> VACUUM does many different things. One of them is vacuuming indexes (for 
> the underlying table that is being vacuumed). VACUUM will remove index 
> entries that are pointing to dead rows in the underlying table. VACUUM 
> will not rebuild the entire index.
>
> VACUUM recycles free index blocks (using FSM), but it does not (usually) 
> free up space for the file system physically. VACUUM FULL does that.
>
> VACUUM FULL will vacuum the index, but it will do it by making a copy of 
> the index (file) and reorganizing its content in order to free up space 
> physically. In that regard, it is like REINDEX. Both VACUUM FULL and 
> REINDEX will block reads from the index during the process (by taking an 
> ACCESS EXCLUSIVE lock).
>
> Regards,
>
> tamas
>
> 2022. 12. 31. 22:04 keltezéssel, Hao Zhang írta:
>> What is the difference between reindex and vacuum's impact on index file? 
>> I deleted an indexed row. Running either vacuum or reindex shows the 
>> index entry for the row is removed from the index page. I was under the 
>> impression that only reindex will remove dangling index entries. I am 
>> guessing that vacuum will not shrink the index file and will only add 
>> deleted index entries in the free space file for the index? But REINDEX 
>> is recreating the index file from scratch so it is like vacuum full for 
>> index?
>>
>> Thanks
>
>

-- 
Born in Arizona, moved to Babylonia.



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

Предыдущее
От: Age Apache
Дата:
Сообщение: What is the best setup for distributed and fault-tolerant PG database?
Следующее
От: "Zwettler Markus (OIZ)"
Дата:
Сообщение: curious postgres (crash) recovery behavior