mirror of
https://github.com/postgres/postgres.git
synced 2025-10-22 14:32:25 +03:00
Add option PROCESS_TOAST to VACUUM
This option controls if toast tables associated with a relation are vacuumed or not when running a manual VACUUM. It was already possible to trigger a manual VACUUM on a toast relation without processing its main relation, but a manual vacuum on a main relation always forced a vacuum on its toast table. This is useful in scenarios where the level of bloat or transaction age of the main and toast relations differs a lot. This option is an extension of the existing VACOPT_SKIPTOAST that was used by autovacuum to control if toast relations should be skipped or not. This internal flag is renamed to VACOPT_PROCESS_TOAST for consistency with the new option. A new option switch, called --no-process-toast, is added to vacuumdb. Author: Nathan Bossart Reviewed-by: Kirk Jamison, Michael Paquier, Justin Pryzby Discussion: https://postgr.es/m/BA8951E9-1524-48C5-94AF-73B1F0D7857F@amazon.com
This commit is contained in:
@@ -181,7 +181,7 @@ typedef struct VacAttrStats
|
||||
#define VACOPT_FREEZE 0x08 /* FREEZE option */
|
||||
#define VACOPT_FULL 0x10 /* FULL (non-concurrent) vacuum */
|
||||
#define VACOPT_SKIP_LOCKED 0x20 /* skip if cannot get lock */
|
||||
#define VACOPT_SKIPTOAST 0x40 /* don't process the TOAST table, if any */
|
||||
#define VACOPT_PROCESS_TOAST 0x40 /* process the TOAST table, if any */
|
||||
#define VACOPT_DISABLE_PAGE_SKIPPING 0x80 /* don't skip any pages */
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user