Обсуждение: pgsql: Introduce IndexAM fields for parallel vacuum.
Introduce IndexAM fields for parallel vacuum. Introduce new fields amusemaintenanceworkmem and amparallelvacuumoptions in IndexAmRoutine for parallel vacuum. The amusemaintenanceworkmem tells whether a particular IndexAM uses maintenance_work_mem or not. This will help in controlling the memory used by individual workers as otherwise, each worker can consume memory equal to maintenance_work_mem. The amparallelvacuumoptions tell whether a particular IndexAM participates in a parallel vacuum and if so in which phase (bulkdelete, vacuumcleanup) of vacuum. Author: Masahiko Sawada and Amit Kapila Reviewed-by: Dilip Kumar, Amit Kapila, Tomas Vondra and Robert Haas Discussion: https://postgr.es/m/CAD21AoDTPMgzSkV4E3SFo1CH_x50bf5PqZFQf4jmqjk-C03BWg@mail.gmail.com https://postgr.es/m/CAA4eK1LmcD5aPogzwim5Nn58Ki+74a6Edghx4Wd8hAskvHaq5A@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4d8a8d0c738410ec02aab46b1ebe1835365ad384 Modified Files -------------- contrib/bloom/blutils.c | 4 +++ doc/src/sgml/indexam.sgml | 4 +++ src/backend/access/brin/brin.c | 4 +++ src/backend/access/gin/ginutil.c | 4 +++ src/backend/access/gist/gist.c | 4 +++ src/backend/access/hash/hash.c | 3 ++ src/backend/access/nbtree/nbtree.c | 3 ++ src/backend/access/spgist/spgutils.c | 4 +++ src/include/access/amapi.h | 4 +++ src/include/commands/vacuum.h | 38 ++++++++++++++++++++++++ src/test/modules/dummy_index_am/dummy_index_am.c | 3 ++ 11 files changed, 75 insertions(+)