Обсуждение: Question on what Duration in the log
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
"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
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.