On Mon, Dec 23, 2024 at 11:01 PM Michael Paquier <mich...@paquier.xyz> wrote:
> On Mon, Dec 23, 2024 at 10:06:58PM -0600, Merlin Moncure wrote: > > I'm aware of that and will set it -- it's the only option if I'm > following > > you. The way I've been doing things lately for bulk processing is a lot > > of orchestrated procedures that are organized for purposes of monitoring > > and easy administration, and telemetry would tend to be at that level, > but > > more granular tracking will get the job done and ought to be perfectly > fine > > as long as overhead is reasonable. > > > > Mainly, I was curious if the behavior not to parse constants out of > stored > > procedure invocations was an unintentional artifact of the > > utility statement approach. I guess it might be, but also that there is > > nothing to solve here. > > Hmm. So you mean that a combination of track_utility = off and track > = 'all' leads to the internals of CALL to not be normalized on first > call, while if we have track_utility = on and track = 'all' then the > internals of CALL are normalized. The behavior is different depending > on if the procedure is cached or not, as well, the second call > following the traces of the first call and we ignore the combinations > of the two GUCs. This kind of inconsistency is what I would call a > bug. I'm pretty sure that it is saner to say that we should apply > normalization all the time if we can, not avoid normalization in some > cases like the one you are pointing at. > Actually, I hadn't gotten that far yet; I was just noticing that: CALL foo(1,2,3); CALL foo(2,3,4); ...resolved to different queryids and if that was expected, and if not, if some logic tune-ups in the extension improve behavior without deeper changes. With client side preparation, you can work around this (e.g. CALL foo($1, $2)) but it's impossible from any non-paramaterizing client or the server (for top level) since explicit prepared statements are not allowed for stored procedures -- that's pretty limiting IMNSHO. If there are issues with the non-top level approach -- that makes it worse. For my part, I'm going to tweak the extension to see if there's any relief there. Thanks for taking a look. merlin