Re: Feature improvement: can we add queryId for pg_catalog.pg_stat_activity view?

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Julien Rouhaud <rjuju123@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Robert Haas <robertmhaas@gmail.com>, Michael Paquier <michael@paquier.xyz>, torikoshia <torikoshia@oss.nttdata.com>, Atsushi Torikoshi <atorik@gmail.com>, Tatsuro Yamada <tatsuro.yamada.tf@nttcom.co.jp>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Evgeny Efimkin <efimkin@yandex-team.ru>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-03-17T16:24:44Z
Lists: pgsql-hackers
On Wed, Mar 17, 2021 at 05:16:50PM +0100, Pavel Stehule wrote:
> 
> 
> st 17. 3. 2021 v 17:03 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
> 
>     Bruce Momjian <bruce@momjian.us> writes:
>     > On Wed, Mar 17, 2021 at 11:28:38AM -0400, Tom Lane wrote:
>     >> I still say that it's a serious mistake to sanctify a query ID
>     calculation
>     >> method that was designed only for pg_stat_statement's needs as the one
>     >> true way to do it.  But that's what exposing it in a core view would do.
> 
>     > OK, I am fine with creating a new method, and maybe having
>     > pg_stat_statements use it.  Is that the direction we should be going in?
> 
>     The point is that we've understood Query.queryId as something that
>     different extensions might calculate differently for their own needs.
>     In particular it's easy to imagine extensions that want an ID that is
>     less fuzzy than what pg_stat_statements wants.  We never had a plan for
>     how two such extensions could co-exist, but at least it was possible
>     to use one if you didn't use another.  If this gets moved into core
>     then there will basically be only one way that anyone can do it.
> 
>     Maybe what we need is a design for allowing more than one query ID.
> 
> 
> Theoretically there can be a hook for calculation of queryid, that can be by
> used extension. Default can be assigned with a method that is used by
> pg_stat_statements.

Yes, that is what the code patch says it does.

> I don't think it is possible to use more different query id for
> pg_stat_statements so this solution can be simple.

Agreed.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  If only the physical world exists, free will is an illusion.




Commits

  1. Clarify description of pg_stat_statements columns

  2. Fix wording in description of pg_stat_statements.toplevel

  3. Mention that toplevel is part of pg_stat_statements key.

  4. adjust query id feature to use pg_stat_activity.query_id

  5. Update copyright for 2021

  6. Take the statistics collector out of the loop for monitoring backends'