mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +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:
@ -3870,8 +3870,9 @@ psql_completion(const char *text, int start, int end)
|
||||
if (ends_with(prev_wd, '(') || ends_with(prev_wd, ','))
|
||||
COMPLETE_WITH("FULL", "FREEZE", "ANALYZE", "VERBOSE",
|
||||
"DISABLE_PAGE_SKIPPING", "SKIP_LOCKED",
|
||||
"INDEX_CLEANUP", "TRUNCATE", "PARALLEL");
|
||||
else if (TailMatches("FULL|FREEZE|ANALYZE|VERBOSE|DISABLE_PAGE_SKIPPING|SKIP_LOCKED|INDEX_CLEANUP|TRUNCATE"))
|
||||
"INDEX_CLEANUP", "PROCESS_TOAST",
|
||||
"TRUNCATE", "PARALLEL");
|
||||
else if (TailMatches("FULL|FREEZE|ANALYZE|VERBOSE|DISABLE_PAGE_SKIPPING|SKIP_LOCKED|INDEX_CLEANUP|PROCESS_TOAST|TRUNCATE"))
|
||||
COMPLETE_WITH("ON", "OFF");
|
||||
}
|
||||
else if (HeadMatches("VACUUM") && TailMatches("("))
|
||||
|
Reference in New Issue
Block a user