Re: compute_query_id and pg_stat_statements
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: rjuju123@gmail.com
Cc: magnus@hagander.net, masao.fujii@oss.nttdata.com, michael@paquier.xyz,
andres@anarazel.de, tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org,
sfrost@snowman.net, bruce@momjian.us, myon@debian.org,
peter.eisentraut@enterprisedb.com, pgsql-hackers@lists.postgresql.org
Date: 2021-05-13T04:26:37Z
Lists: pgsql-hackers
Attachments
- (unnamed) (text/plain)
At Thu, 13 May 2021 12:11:12 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in > As the result, even if we take the DLL approach, still not need to > split out the query-id provider part. By the following config: > > > query_id_provider = 'pg_stat_statements' > > the core can obtain the entrypoint of, say, "_PG_calculate_query_id" > to call it. And it can be of another module. > > It seems like the only problem doing that is we don't have a means to > call per-process intializer for a preload libralies. So this is a crude PoC of that. pg_stat_statemnts defines its own query-id provider function in pg_stat_statements which calls in-core DefaultJumbeQuery (end emits a log line). If server started with query_id_provider='auto' and pg_stat_statements is not loaded, pg_stat_activity.query_id is null. If query_id_provider='auto' and pg_stat_statements is loaded, pg_stat_activity.query_id is filled in with a query id. If query_id_provider='default' or 'pg_stat_statements' and pg_stat_statements is not loaded, pg_stat_activity.query_id is filled in with a query id. If query_id_provider='none' and pg_stat_statements is loaded, it complains as "query id provider is not available" and refuss to start. If showing the variable, it shows the real provider name instead of the setting in postgresql.conf. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
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