Search Postgresql Archives

Re: Example code Re: Singleton SELECT inside cursor loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/1/22 07:21, Christoph Moench-Tegeder wrote:
## Ron (ronljohnsonjr@xxxxxxxxx):

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.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux