Re: query_id: jumble names of temp tables for better pg_stat_statement UX

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Julien Rouhaud <rjuju123(at)gmail(dot)com>
Cc: Sami Imseih <samimseih(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Christoph Berg <myon(at)debian(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, ma lz <ma100(at)hotmail(dot)com>
Subject: Re: query_id: jumble names of temp tables for better pg_stat_statement UX
Date: 2025-03-25 05:17:22
Message-ID: 1207515.1742879842@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Julien Rouhaud <rjuju123(at)gmail(dot)com> writes:
> On Tue, Mar 25, 2025 at 12:32:05AM -0400, Tom Lane wrote:
>> 2. Tools that are not entitled to set the value of the GUC are forced
>> to be prepared to cope with any setting. That can be anywhere from
>> painful to impossible.

> Didn't that ship already sailed in pg14 when we allowed generating custom
> query_id?

Up to a point, perhaps. If I'm writing some kind of tool that digests
pg_stat_statements results, I think I'm entitled to disregard the
possibility that somebody is using a custom query_id that behaves in
ways I'm not expecting --- or at least, fixing my code for that is
their problem not mine. But it's much harder to take that attitude
for things that are built into core PG.

>> For the specific context of controlling how query jumbling happens,
>> there's still another problem: the actual statement-merging behavior of
>> pg_stat_statements will depend on the totality of settings of the GUC
>> across the entire system.

> One of the requirement for the custom query_id was that you shouldn't be
> allowed to change the algorithm dynamically, at least not unless a superuser
> agrees to maybe break everything, which is why compute_query_id is marked as
> PGC_SUSET. I think that the same reasoning should apply here and if the GUC is
> kept it should be at least at that level.

Fully agreed. (Even SUSET is debatable in this situation, but I'm okay
with it on the principle that superusers are expected to know what
they're doing and accept the consequences.)

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Julien Rouhaud 2025-03-25 05:28:39 Re: query_id: jumble names of temp tables for better pg_stat_statement UX
Previous Message Julien Rouhaud 2025-03-25 05:09:07 Re: query_id: jumble names of temp tables for better pg_stat_statement UX

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2025-03-25 05:28:39 Re: query_id: jumble names of temp tables for better pg_stat_statement UX
Previous Message Julien Rouhaud 2025-03-25 05:09:07 Re: query_id: jumble names of temp tables for better pg_stat_statement UX