Re: compute_query_id and pg_stat_statements

From: Julien Rouhaud <rjuju123(at)gmail(dot)com>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: magnus(at)hagander(dot)net, masao(dot)fujii(at)oss(dot)nttdata(dot)com, michael(at)paquier(dot)xyz, andres(at)anarazel(dot)de, tgl(at)sss(dot)pgh(dot)pa(dot)us, alvherre(at)alvh(dot)no-ip(dot)org, sfrost(at)snowman(dot)net, bruce(at)momjian(dot)us, myon(at)debian(dot)org, peter(dot)eisentraut(at)enterprisedb(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: compute_query_id and pg_stat_statements
Date: 2021-05-13 02:59:24
Message-ID: 20210513025924.xzfvaycfpme6koad@nol
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, May 13, 2021 at 11:49:34AM +0900, Kyotaro Horiguchi wrote:
> At Thu, 13 May 2021 10:39:20 +0800, Julien Rouhaud <rjuju123(at)gmail(dot)com> wrote in
> > On Thu, May 13, 2021 at 11:30:56AM +0900, Kyotaro Horiguchi wrote:
> > > At Thu, 13 May 2021 11:26:29 +0900 (JST), Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> wrote in
> > > > At Thu, 13 May 2021 10:02:45 +0800, Julien Rouhaud <rjuju123(at)gmail(dot)com> wrote in
> > > > Yes, I know. So I said that "if not yet called". I believe any "real"
> > > > alternative query-id provider is supposed to be hooked "before"
> > > > pg_stat_statements. (It is a kind of magic to control the order of
> > > > plugins, though..) When the alternative provider generated a query_id
> > > > (that is, it has set jstate), pg_stat_statment doesn't call the
> > > > in-core JumbleQuery and uses the givin query_id.
> > >
> > > Forgot to mention, I think that the state "query_id provider is active
> > > but it has not assigned one to this query" can be signaled by
> > > jstate=<non-null> and query_id = 0.
> >
> > I assume that you mean "third-party query_id provider" here, as the core one
> > will always return a non-zero query_id?
>
> Right.
>
> > I guess it could work, but a lot of people are complaining that having
> > compute_query_id = [ off | on | auto ] is too confusing, so I don't see how
> > having "off" means "sometimes off, sometimes on" is going to be any clearer for
> > users.
>
> I don't get it. It read as "people are complaining the tristate is too
> confusing, so I made it tristate"?

No, the consensus was for having a tristate, so I implemented it, and now
people are complaining that it's too confusing.

> For the second point, so I said that the variable controls whether the
> "internal" query-id pvovider turn on. It is more clearer if the name
> were something like "use_internal_query_id_generator".

I don't see how it's really different. If I understand correctly, you're
suggesting that
use_internal_query_id_generator = off
can mean either

- off
- on if pg_stat_statements or similar extension is configured but no custom
query_id provider is configured, and in any case it will always be displayed
as off

with no other new GUC. Is that correct?

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2021-05-13 03:06:52 Re: compute_query_id and pg_stat_statements
Previous Message Kyotaro Horiguchi 2021-05-13 02:49:34 Re: compute_query_id and pg_stat_statements