mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Allow VACUUM to be run with index cleanup disabled.
This commit adds a new reloption, vacuum_index_cleanup, which controls whether index cleanup is performed for a particular relation by default. It also adds a new option to the VACUUM command, INDEX_CLEANUP, which can be used to override the reloption. If neither the reloption nor the VACUUM option is used, the default is true, as before. Masahiko Sawada, reviewed and tested by Nathan Bossart, Alvaro Herrera, Kyotaro Horiguchi, Darafei Praliaskouski, and me. The wording of the documentation is mostly due to me. Discussion: http://postgr.es/m/CAD21AoAt5R3DNUZSjOoXDUY=naYPUOuffVsRzuTYMz29yLzQCA@mail.gmail.com
This commit is contained in:
@@ -148,6 +148,19 @@ typedef enum VacuumOption
|
||||
VACOPT_DISABLE_PAGE_SKIPPING = 1 << 7 /* don't skip any pages */
|
||||
} VacuumOption;
|
||||
|
||||
/*
|
||||
* A ternary value used by vacuum parameters.
|
||||
*
|
||||
* DEFAULT value is used to determine the value based on other
|
||||
* configurations, e.g. reloptions.
|
||||
*/
|
||||
typedef enum VacOptTernaryValue
|
||||
{
|
||||
VACOPT_TERNARY_DEFAULT = 0,
|
||||
VACOPT_TERNARY_DISABLED,
|
||||
VACOPT_TERNARY_ENABLED,
|
||||
} VacOptTernaryValue;
|
||||
|
||||
/*
|
||||
* Parameters customizing behavior of VACUUM and ANALYZE.
|
||||
*
|
||||
@@ -167,6 +180,8 @@ typedef struct VacuumParams
|
||||
int log_min_duration; /* minimum execution threshold in ms at
|
||||
* which verbose logs are activated, -1
|
||||
* to use default */
|
||||
VacOptTernaryValue index_cleanup; /* Do index vacuum and cleanup,
|
||||
* default value depends on reloptions */
|
||||
} VacuumParams;
|
||||
|
||||
/* GUC parameters */
|
||||
|
@@ -266,6 +266,7 @@ typedef struct StdRdOptions
|
||||
AutoVacOpts autovacuum; /* autovacuum-related options */
|
||||
bool user_catalog_table; /* use as an additional catalog relation */
|
||||
int parallel_workers; /* max number of parallel workers */
|
||||
bool vacuum_index_cleanup; /* enables index vacuuming and cleanup */
|
||||
} StdRdOptions;
|
||||
|
||||
#define HEAP_MIN_FILLFACTOR 10
|
||||
|
Reference in New Issue
Block a user