pgsql: Introduce IndexAM fields for parallel vacuum.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

pgsql: Introduce IndexAM fields for parallel vacuum.

Amit Kapila-3
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@...
https://postgr.es/m/CAA4eK1LmcD5aPogzwim5Nn58Ki+74a6Edghx4Wd8hAskvHaq5A@...

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(+)