Hi,
On 2021-06-16 21:39:49 -0400, Tom Lane wrote:
> Although this adds some overhead in the form of copying of
> utility node trees that won't actually mutate during execution,
> I think that won't be too bad because those trees tend to be
> small and hence cheap to copy. The statements that can have
> a lot of substructure usually contain expression trees or the
> like, which do have to be copied for safety. Moreover, we buy
> back a lot of cost by removing pointless copying when we're
> not executing on a cached plan.
Have you evaluated the cost in some form? I don't think it a relevant
cost for most utility statements, but there's a few exceptions that *do*
worry me. In particular, in some workloads transaction statements are
very frequent.
Greetings,
Andres Freund