Re: Problems around compute_query_id - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Problems around compute_query_id
Date
Msg-id 20210420165910.GE30205@momjian.us
Whole thread Raw
In response to Re: Problems around compute_query_id  (Julien Rouhaud <rjuju123@gmail.com>)
Responses Re: Problems around compute_query_id  (Julien Rouhaud <rjuju123@gmail.com>)
List pgsql-hackers
On Thu, Apr 15, 2021 at 03:43:59PM +0800, Julien Rouhaud wrote:
> On Mon, Apr 12, 2021 at 02:56:59PM +0800, Julien Rouhaud wrote:
> > I think we should simply document that %Q is not compatible with
> > log_statements.
> 
> Hearing no objection I documented that limitation.
> 
> > 
> > > While making the feature run on some test server, I have noticed that
> > > %Q would log some garbage query ID for autovacuum workers that's kept
> > > around.  That looks wrong.
> > 
> > I've not been able to reproduce it, do you have some hint on how to do it?
> > 
> > Maybe setting a zero queryid at the beginning of AutoVacWorkerMain() could fix
> > the problem?
> 
> It turns out that the problem was simply that some process can inherit a
> PgBackendStatus for which a previous backend reported a queryid.  For processes
> like autovacuum process, they will never report a new identifier so they
> reported the previous one.  Resetting the field like the other ones in
> pgstat_bestart() fixes the problem for autovacuum and any similar process.

I slightly adjusted the patch and applied it.  Thanks.  I think this
closes all the open issues around query_id.  :-)

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

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


Attachment

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: pg_amcheck option to install extension
Next
From: Andrew Dunstan
Date:
Subject: Re: multi-install PostgresNode fails with older postgres versions