Subject: Re: Notices not printed by PQtrace

From: Álvaro Herrera <[email-masked]>
Date: Tue, 5 Aug 2025 15:17:52 +0200

On 2025-Aug-05, Dominique Devienne wrote:

> Hi. I'm using PQtrace for client-side tracing with PQtrace,
> which I thought was showing protocol messages in details.
> 
> But turns out that RAISE notices from PL/pgSQL are not there.

Hmm, don't they show up as NOTICE messages?  I think they should.
Maybe you could set a notice receiver and have it print to the same
file?  I think I had to do that at some point.

> And to think about it, I wonder whether NOTIFY messages are there too.

Please test it and let's us know :-)

> Are these oversights?

Yeah, probably.  As far as I am concerned, the current PQtrace() code
was mostly written to allow us to develop libpq pipeline mode.  (I don't
know what had Aya Iwata in mind when she wrote it.)  For that, neither
NOTICE nor NOTIFY were very interesting, so I didn't stop to think about
them.

> Any chance this could be enhanced, via new opt-in PQsetTraceFlags flags?
> Ideally I've like to see everything.

Yeah, I think that makes sense.  Feel free to propose a patch.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"In Europe they call me Niklaus Wirth; in the US they call me Nickel's worth.
 That's because in Europe they call me by name, and in the US by value!"

---

From: Dominique Devienne <[email-masked]>
Date: Tue, 5 Aug 2025 16:19:53 +0200

> Yeah, I think that makes sense.  Feel free to propose a patch.

OK, fair enough. If I ever do (fat chances), I'd add another opt-in flag
to make the trace machine readable (see my older thread about that).

Thanks Alvaro.

PS: I have my own notice handler for my CLI already.
But that goes to my CLI's stdout, not the trace file.