Thread: Question on what Duration in the log

Question on what Duration in the log

From
"Vitale, Anthony, Sony Music"
Date:

Hello All

 

In my PG Version 14 log I have set to log the duration of sql (Example of one log row below).

 

2025-04-08 07:31:57 UTC:XXX(55994):XXX:[8949]:LOG:  duration: 6555.756 ms  execute S_381: {Actual Parameterized Sql executed}

 

 

This Shows the Execution of a JDBC Server Side Prepared statement (i.e S_381) which took 6.5 seconds.

 

When I run the Sql using explain analyze it runs shows an execution time of 73 ms

 

Planning Time: 0.773 ms

Execution Time: 73.578 ms

 

I am trying to understand the duration of 6.5 seconds and if it represents the time to execute the sql (Since the plan already exists)  itself or the full time needed to execute the sql as well as for the last row to be fetched by the program.

 

The result set of the query does return 50,000+ rows

 

Is there anywhere that explains what exactly the duration in the log represents.

 

Thanks

Anthony Vitale

 

Re: Question on what Duration in the log

From
Tom Lane
Date:
"Vitale, Anthony, Sony Music" <anthony.vitale@sonymusic.com> writes:
> In my PG Version 14 log I have set to log the duration of sql (Example of one log row below).
> 2025-04-08 07:31:57 UTC:XXX(55994):XXX:[8949]:LOG:  duration: 6555.756 ms  execute S_381: {Actual Parameterized Sql
executed}
> This Shows the Execution of a JDBC Server Side Prepared statement (i.e S_381) which took 6.5 seconds.

> When I run the Sql using explain analyze it runs shows an execution time of 73 ms
> Planning Time: 0.773 ms
> Execution Time: 73.578 ms

They're not measuring the same thing really, because EXPLAIN isn't
counting the time needed to transmit data to the client.

This is not just a matter of network overhead (though that can be
substantial) but also the time required to format the values into
text.  If you are talking about large values, which I bet you are,
there is also the time needed to fetch them from out-of-line TOAST
storage, which is another thing that doesn't happen in EXPLAIN.

Since v17, EXPLAIN has grown a SERIALIZE option that causes it to
do everything except the network transmission, which might be
of interest in analyzing this further.

            regards, tom lane



RE: Question on what Duration in the log

From
"Vitale, Anthony, Sony Music"
Date:
Thanks Tom

Perfect.

Anthony Vitale
 
This message is only for the use of the persons(s) to whom it is intended. It may contain privileged and confidential
informationwithin the meaning of applicable law. If you are not the intended recipient, please do not use this
informationfor any purpose, destroy this message and inform the sender immediately. The views expressed in this
communicationmay not necessarily be the views held by Sony Music Entertainment 

-----Original Message-----
From: Tom Lane <tgl@sss.pgh.pa.us>
Sent: Wednesday, April 9, 2025 11:02 AM
To: Vitale, Anthony, Sony Music <anthony.vitale@sonymusic.com>
Cc: pgsql-performance@lists.postgresql.org
Subject: Re: Question on what Duration in the log

EXTERNAL SENDER


"Vitale, Anthony, Sony Music" <anthony.vitale@sonymusic.com> writes:
> In my PG Version 14 log I have set to log the duration of sql (Example of one log row below).
> 2025-04-08 07:31:57 UTC:XXX(55994):XXX:[8949]:LOG:  duration: 6555.756
> ms  execute S_381: {Actual Parameterized Sql executed} This Shows the Execution of a JDBC Server Side Prepared
statement(i.e S_381) which took 6.5 seconds. 

> When I run the Sql using explain analyze it runs shows an execution
> time of 73 ms Planning Time: 0.773 ms Execution Time: 73.578 ms

They're not measuring the same thing really, because EXPLAIN isn't counting the time needed to transmit data to the
client.

This is not just a matter of network overhead (though that can be
substantial) but also the time required to format the values into text.  If you are talking about large values, which I
betyou are, there is also the time needed to fetch them from out-of-line TOAST storage, which is another thing that
doesn'thappen in EXPLAIN. 

Since v17, EXPLAIN has grown a SERIALIZE option that causes it to do everything except the network transmission, which
mightbe of interest in analyzing this further. 

                        regards, tom lane


This email originated from outside of Sony Music.  Do not click links or open attachments unless you recognize the
senderand know the content is safe.