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
Re: REINDEX vs VACUUM Re: REINDEX vs VACUUM |
Список | 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 по дате отправления: