forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit22bd3cb

Amit Kapila
Improve parallel vacuum implementation.
Previously, in parallel vacuum, we allocated shmem area ofIndexBulkDeleteResult only for indexes where parallel index vacuuming issafe and had null-bitmap in shmem area to access them. This logic was toocomplicated with a small benefit of saving only a few bits per indexes.In this commit, we allocate a dedicated shmem area for the array ofLVParallelIndStats that includes a parallel-safety flag, the index vacuumstatus, and IndexBulkdeleteResult. There is one array element for everyindex, even those indexes where parallel index vacuuming is unsafe or notworthwhile. This commit makes the code clear by removing allbitmap-related code.Also, add the check each index vacuum status after parallel index vacuumto make sure that all indexes have been processed.Finally, rename parallel vacuum functions to parallel_vacuum_* forconsistency.Author: Masahiko Sawada, based on suggestions by Andres FreundReviewed-by: Hou Zhijie, Amit KapilaDiscussion:https://www.postgresql.org/message-id/20211030212101.ae3qcouatwmy7tbr%40alap3.anarazel.de1 parent7acd010 commit22bd3cb
File tree
2 files changed
+288
-318
lines changed- src
- backend/access/heap
- tools/pgindent
2 files changed
+288
-318
lines changed0 commit comments
Comments
(0)