mirror of
https://github.com/postgres/postgres.git
synced 2025-07-18 17:42:25 +03:00
Add plan_cache_mode setting
This allows overriding the choice of custom or generic plan. Author: Pavel Stehule <pavel.stehule@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CAFj8pRAGLaiEm8ur5DWEBo7qHRWTk9HxkuUAz00CZZtJj-LkCA%40mail.gmail.com
This commit is contained in:
@ -405,6 +405,13 @@ static const struct config_enum_entry force_parallel_mode_options[] = {
|
||||
{NULL, 0, false}
|
||||
};
|
||||
|
||||
static const struct config_enum_entry plan_cache_mode_options[] = {
|
||||
{"auto", PLAN_CACHE_MODE_AUTO, false},
|
||||
{"force_generic_plan", PLAN_CACHE_MODE_FORCE_GENERIC_PLAN, false},
|
||||
{"force_custom_plan", PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN, false},
|
||||
{NULL, 0, false}
|
||||
};
|
||||
|
||||
/*
|
||||
* password_encryption used to be a boolean, so accept all the likely
|
||||
* variants of "on", too. "off" used to store passwords in plaintext,
|
||||
@ -4150,6 +4157,18 @@ static struct config_enum ConfigureNamesEnum[] =
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"plan_cache_mode", PGC_USERSET, QUERY_TUNING_OTHER,
|
||||
gettext_noop("Controls the planner's selection of custom or generic plan."),
|
||||
gettext_noop("Prepared statements can have custom and generic plans, and the planner "
|
||||
"will attempt to choose which is better. This can be set to override "
|
||||
"the default behavior.")
|
||||
},
|
||||
&plan_cache_mode,
|
||||
PLAN_CACHE_MODE_AUTO, plan_cache_mode_options,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
/* End-of-list marker */
|
||||
{
|
||||
{NULL, 0, 0, NULL, NULL}, NULL, 0, NULL, NULL, NULL, NULL
|
||||
|
Reference in New Issue
Block a user