Thread: [MASSMAIL]Tracing libpq client: Only with PQtrace()?

[MASSMAIL]Tracing libpq client: Only with PQtrace()?

From
Sebastien Flaesch
Date:
Hello

Sorry if I missed that in the doc:

Is the PQtrace() API the only way to enable libpq client tracing?

I thought about some environment variable of client configuration setting...

Seb

Re: Tracing libpq client: Only with PQtrace()?

From
Alvaro Herrera
Date:
Hello,

On 2024-Apr-09, Sebastien Flaesch wrote:

> Is the PQtrace() API the only way to enable libpq client tracing?

Yes.

Regards

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/



Re: Tracing libpq client: Only with PQtrace()?

From
Greg Sabino Mullane
Date:
On Tue, Apr 9, 2024 at 8:51 AM Sebastien Flaesch <sebastien.flaesch@4js.com> wrote:
Is the PQtrace() API the only way to enable libpq client tracing?

I thought about some environment variable of client configuration setting...

That's generally the job of the client, or more specifically, the driver providing the interface between your program and the libpq API. Unless you are writing at the low level yourself, in which case, you would need to have your program detect an env and call PQtrace() as needed. 


Cheers,
Greg
 

Re: Tracing libpq client: Only with PQtrace()?

From
Alvaro Herrera
Date:
On 2024-Apr-09, Greg Sabino Mullane wrote:

> On Tue, Apr 9, 2024 at 8:51 AM Sebastien Flaesch <sebastien.flaesch@4js.com>
> wrote:
> 
> > Is the PQtrace() API the only way to enable libpq client tracing?
> >
> > I thought about some environment variable of client configuration
> > setting...
> 
> That's generally the job of the client, or more specifically, the driver
> providing the interface between your program and the libpq API. Unless you
> are writing at the low level yourself, in which case, you would need to
> have your program detect an env and call PQtrace() as needed.
> 
> See for example
> https://metacpan.org/pod/DBD::Pg#parse_trace_flag-and-parse_trace_flags

Another approach might be to use Wireshark, which has a decoder for the
Postgres FE/BE protocol.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"Pido que me den el Nobel por razones humanitarias" (Nicanor Parra)



Re: Tracing libpq client: Only with PQtrace()?

From
Sebastien Flaesch
Date:
Yep I got it, thanks for the suggestion!
Seb

From: Greg Sabino Mullane <htamfids@gmail.com>
Sent: Tuesday, April 9, 2024 4:50 PM
To: Sebastien Flaesch <sebastien.flaesch@4js.com>
Cc: pgsql-general <pgsql-general@lists.postgresql.org>
Subject: Re: Tracing libpq client: Only with PQtrace()?
 

EXTERNAL: Do not click links or open attachments if you do not recognize the sender.

On Tue, Apr 9, 2024 at 8:51 AM Sebastien Flaesch <sebastien.flaesch@4js.com> wrote:
Is the PQtrace() API the only way to enable libpq client tracing?

I thought about some environment variable of client configuration setting...

That's generally the job of the client, or more specifically, the driver providing the interface between your program and the libpq API. Unless you are writing at the low level yourself, in which case, you would need to have your program detect an env and call PQtrace() as needed. 


Cheers,
Greg