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.