Re: compute_query_id and pg_stat_statements
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>,
Julien Rouhaud <rjuju123@gmail.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>,
Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Magnus Hagander <magnus@hagander.net>, Michael Paquier
<michael@paquier.xyz>, Andres Freund <andres@anarazel.de>,
Tom Lane <tgl@sss.pgh.pa.us>, Stephen Frost <sfrost@snowman.net>,
Bruce Momjian <bruce@momjian.us>, Christoph Berg <myon@debian.org>,
Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-05-14T03:20:00Z
Lists: pgsql-hackers
On 2021/05/14 9:04, Alvaro Herrera wrote:
> Here's a first attempt at what was suggested. If you say "auto" it
> remains auto in SHOW, but it gets enabled if a module asks for it.
>
> Not final yet, but I thought I'd throw it out for early commentary ...
Many thanks! The patch basically looks good to me.
+void
+EnableQueryId(void)
+{
+ if (compute_query_id == COMPUTE_QUERY_ID_AUTO)
+ auto_query_id_enabled = true;
Shouldn't EnableQueryId() enable auto_query_id_enabled whatever compute_query_id is?
Otherwise, for example, the following scenario can happen and it's a bit strange.
1. The server starts up with shared_preload_libraries=pg_stat_statements and compute_query_id=on
2. compute_query_id is set to auto and the configuration file is reloaded
Then, even though compute_query_id is auto and pg_stat_statements is loaded,
query ids are not computed and no queries are tracked by pg_stat_statements.
Regards,
--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION
Commits
-
Allow compute_query_id to be set to 'auto' and make it default
- cafde58b337e 14.0 landed
-
Move pg_stat_statements query jumbling to core.
- 5fd9dfa5f50e 14.0 cited