Re: When deleting the plpgsql function, release the CachedPlan of the function

From: Vladlen Popolitov <v(dot)popolitov(at)postgrespro(dot)ru>
To: Man Zeng <zengman(at)halodbtech(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: When deleting the plpgsql function, release the CachedPlan of the function
Date: 2025-08-19 08:39:50
Message-ID: 018782afd6c520264080381734403c5e@postgrespro.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Man Zeng писал(а) 2025-08-19 11:28:
> So in my opinion, the cached plan will not be reused but will
> constantly occupy resources.
>
> regards,
> Zeng Man
Hi!

In your example function will be compiled (the tree is created in the
memory)
and executed.
During execution this function creates a plan for very simple query 1
and stores it in the cache, than it creates a plan for query 10 and
store
in in the cache. There is no other queries, no more plans in the cache.
After execution function releases the tree (own code) from memory,
but cached queries are remains in the memory, it is why this cache is
created -
for usage by other queries.

I do not know, what other cache of the stored procedure do you mean. I
suppose,
a stored procedure creates cached plans only for queries inside of the
procedure,
not for itself.

--
Best regards,

Vladlen Popolitov.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2025-08-19 08:43:52 Re: Logical Replication of sequences
Previous Message Man Zeng 2025-08-19 08:28:37 Re: When deleting the plpgsql function, release the CachedPlan of the function