Re: Refactor query normalization into core query jumbling

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Lukas Fittl <lukas@fittl.com>, zengman <zengman@halodbtech.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Julien Rouhaud <rjuju123@gmail.com>
Date: 2026-04-05T22:13:40Z
Lists: pgsql-hackers
> >> > I'm +-0 regarding this routine, but I can also see your point about how it's
> >> > useful to give at least the option to extensions to have a
> >> > recomputation of the Const lengths, the same way as PGSS.  What are
> >> > the extensions that would use that?
> >>
> >> https://github.com/search?q=fill_in_constant_lengths&type=code
> >>
> >> A few well-known extensions/tools out there based on a Github search.
>
> FWIW, this search points to a lot of forks
>
> > See attached a v9 that extracts ComputeConstantLengths from Sami's v7
> > for easier discussion.
> >
> > I've done an updated test with pg_stat_monitor [0] and pg_tracing [1]
> > with that, and that has both extensions passing regressions tests.
> > I've also looked but not tested a third extension (sql_firewall) and
> > that looks like it should just work as well.
>
> Still I can see the gains here, so I guess that this version works
> here.  I'm happy enough to see the const with JumbleState.

I took a look at v9 and it LGTM.

--
Sami



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Mark JumbleState as a const in the post_parse_analyze hook

  2. Force standard_conforming_strings to always be ON.

  3. Move pg_stat_statements query jumbling to core.