-
- Downloads
Add a multi-worker capability to autovacuum. This allows multiple worker
processes to be running simultaneously. Also, now autovacuum processes do not count towards the max_connections limit; they are counted separately from regular processes, and are limited by the new GUC variable autovacuum_max_workers. The launcher now has intelligence to launch workers on each database every autovacuum_naptime seconds, limited only on the max amount of worker slots available. Also, the global worker I/O utilization is limited by the vacuum cost-based delay feature. Workers are "balanced" so that the total I/O consumption does not exceed the established limit. This part of the patch was contributed by ITAGAKI Takahiro. Per discussion.
Showing
- doc/src/sgml/config.sgml 24 additions, 6 deletionsdoc/src/sgml/config.sgml
- doc/src/sgml/maintenance.sgml 36 additions, 13 deletionsdoc/src/sgml/maintenance.sgml
- src/backend/commands/vacuum.c 4 additions, 1 deletionsrc/backend/commands/vacuum.c
- src/backend/postmaster/autovacuum.c 987 additions, 115 deletionssrc/backend/postmaster/autovacuum.c
- src/backend/storage/lmgr/proc.c 49 additions, 13 deletionssrc/backend/storage/lmgr/proc.c
- src/backend/utils/init/globals.c 7 additions, 2 deletionssrc/backend/utils/init/globals.c
- src/backend/utils/misc/guc.c 46 additions, 5 deletionssrc/backend/utils/misc/guc.c
- src/backend/utils/misc/postgresql.conf.sample 1 addition, 0 deletionssrc/backend/utils/misc/postgresql.conf.sample
- src/include/miscadmin.h 2 additions, 1 deletionsrc/include/miscadmin.h
- src/include/postmaster/autovacuum.h 10 additions, 1 deletionsrc/include/postmaster/autovacuum.h
- src/include/storage/lwlock.h 2 additions, 1 deletionsrc/include/storage/lwlock.h
- src/include/storage/proc.h 3 additions, 1 deletionsrc/include/storage/proc.h
Loading
Please register or sign in to comment