Patch: New GUC prepared_statement_limit to limit memory used byprepared statements

Поиск
Список
Период
Сортировка
От Daniel Migowski
Тема Patch: New GUC prepared_statement_limit to limit memory used byprepared statements
Дата
Msg-id ed51c14c-b3ff-5e2e-962c-69ac3ccb2c07@ikoffice.de
обсуждение исходный текст
Ответы Re: Patch: New GUC prepared_statement_limit to limit memory used byprepared statements  (Ibrar Ahmed <ibrar.ahmad@gmail.com>)
Список pgsql-hackers
Hello,

attached you find a patch that adds a new GUC:

prepared_statement_limit:

         Specifies the maximum amount of memory used in each session to 
cache
         parsed-and-rewritten queries and execution plans. This affects 
the maximum memory
         a backend threads will reserve when many prepared statements 
are used.
         The default value of 0 disables this setting, but it is 
recommended to set this
         value to a bit lower than the maximum memory a backend worker 
thread should reserve
         permanently.

If the GUC is configured after each save of a CachedPlanSource, or after 
creating a CachedPlan from it, the function 
EnforcePreparedStatementLimit is called now. It checks the mem usage of 
the existing saved CachedPlanSources and invalidates the query_list and 
the gplan if available until the memory limit is met again.

CachedPlanSource are removed-and-tailadded in the saved_plan_list 
everytime GetCachedPlan is called on them so it can be used as a LRU list.

I also reworked ResetPlanCache, PlanCacheRelCallback and 
PlanCacheObjectCallback a bit so when a CachedPlanSource is invalidated 
the query_list is not only marked as invalid but it is also fully 
released to free memory here.

Regards,
Daniel Migowski

PS@Konstantin: This patch also includes the CachedPlanMemoryUsage 
function you like, maybe you like the review the patch for me?




Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: default_table_access_method is not in sample config file
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [Proposal] Table-level Transparent Data Encryption (TDE) and KeyManagement Service (KMS)