Re: Example code Re: Singleton SELECT inside cursor loop
От | Ron |
---|---|
Тема | Re: Example code Re: Singleton SELECT inside cursor loop |
Дата | |
Msg-id | d652ade6-183f-2fa2-bd00-f92cdb63169d@gmail.com обсуждение исходный текст |
Ответ на | Re: Example code Re: Singleton SELECT inside cursor loop (Christoph Moench-Tegeder <cmt@burggraben.net>) |
Ответы |
Re: Example code Re: Singleton SELECT inside cursor loop
|
Список | pgsql-general |
On 10/1/22 07:21, Christoph Moench-Tegeder wrote: > ## Ron (ronljohnsonjr@gmail.com): > >> Note how quickly it runs the first five times, but takes 780x longer the >> sixth time I run it. Exiting psql and entering again causes the same >> slowness the sixth time it's run. > Tanks at the sixth time? That rings a bell: "The current rule for this > is that the first five executions are done with custom plans[...]" from > https://www.postgresql.org/docs/12/sql-prepare.html The question then is "why am I just now seeing the problem?" We've been using v12 for two years, and it just happened. The only recent change is that I upgraded it from RDS 12.10 to 12.11 a couple of weeks ago. > And your functions create prepared statements under the hood: > https://www.postgresql.org/docs/12/plpgsql-implementation.html#PLPGSQL-PLAN-CACHING The same thing happens when I put the SELECT in a prepared statement, so that seems the likely cause. > I guess you should visit > https://www.postgresql.org/docs/12/runtime-config-query.html#GUC-PLAN-CACHE_MODE > and try if plan_cache_mode = force_custom_plan helps here. That solved the problem. Thank you! -- Angular momentum makes the world go 'round.
В списке pgsql-general по дате отправления: