Re: query_id: jumble names of temp tables for better pg_stat_statement UX
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Christoph Berg <myon@debian.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, ma lz <ma100@hotmail.com>
Date: 2025-03-23T06:38:10Z
Lists: pgsql-hackers, pgsql-general
Attachments
- v4-0001-Add-support-for-custom_query_jumble-at-field-leve.patch (text/x-diff) patch v4-0001
- v4-0002-Add-custom-query-jumble-function-for-RangeTblEntr.patch (text/x-diff) patch v4-0002
On Sat, Mar 22, 2025 at 09:04:19PM -0400, Tom Lane wrote: > Right. I'm arguing that that's good. The proposed patch already > obscures the difference between similar table names in different > (temp) schemas, and I'm suggesting that taking that a bit further > would be fine. > > Note that if the tables we're considering don't have identical > rowtypes, the queries would likely jumble differently anyway > due to differences in Vars' varattno and vartype. Not for the types AFAIK, the varattnos count in, but perhaps for the same argument as previously it's just kind of OK? Please see the tests in the attached about that. I've spent a few hours looking at the diffs of a pgss dump before and after the fact. The reduction in the number of entries seem to come mainly from tests where we do a successive creates and drops of the same table name. There are quite a few of them for updatable views, but it's not the only one. A good chunk comes from tables with simpler and rather generic names. So your idea to use the relation name in eref while skipping the column list looks kind of promising. Per se the attached. Thoughts? -- Michael
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use relation name instead of OID in query jumbling for RangeTblEntry
- 787514b30bb7 18.0 landed
-
Fix two issues with custom_query_jumble in gen_node_support.pl
- 27ee6ede6bc9 18.0 landed
-
pg_stat_statements: Add more tests with temp tables and namespaces
- 3430215fe35f 18.0 landed
-
Add support for custom_query_jumble as a node field attribute
- 5ac462e2b7ac 18.0 landed