Обсуждение: Notices not printed by PQtrace

Поиск
Список
Период
Сортировка

Notices not printed by PQtrace

От
Dominique Devienne
Дата:
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.

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

Are these oversights?

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

TIA, --DD



Re: Notices not printed by PQtrace

От
Álvaro Herrera
Дата:
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!"



Re: Notices not printed by PQtrace

От
Dominique Devienne
Дата:
On Tue, Aug 5, 2025 at 3:20 PM Álvaro Herrera <alvherre@kurilemu.de> wrote:
> On 2025-Aug-05, Dominique Devienne wrote:
> 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.