Search Postgresql Archives

Re: INTERVAL MINUTE TO SECOND didn't do what I thought it would do

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 1/8/25 11:00 AM, Ron Johnson wrote:
PG 14.13

The goal of "(now() - query_start)::INTERVAL MINUTE TO SECOND" column is to see how many minutes and seconds ago that the query started.  (Why? Because that's useful to me, and the people I show the output to when queries run for more than a few minutes.  We don't need to see hours and days; just the total MMMMM:SS.mmm.)

I'd hoped that ::INTERVAL MINUTE TO SECOND would do the trick, but MINUTE TO SECOND seems to be ignored.

From here:

https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-INTERVAL-INPUT

"Also, field values “to the right” of the least significant field allowed by the fields specification are silently discarded. For example, writing INTERVAL '1 day 2:03:04' HOUR TO MINUTE results in dropping the seconds field, but not the day field."



Is there cast magic that does what I want?

The only way I can think of extract the epoch from the interval and pass to a function that builds what you want.



TAPc=# select pid
        ,datname as db, usename
       ,to_char(query_start, 'YYYY-MM-DD HH24:MI:SS.MS <http://SS.MS>') as  qry_start
        ,(now() - query_start)::INTERVAL MINUTE TO SECOND as qry_elapsed
        ,cast(state as char(11)) as state
from pg_stat_activity
WHERE pid != pg_backend_pid()
and state != 'idle';
   pid   |  db  |  usename   |        qry_start        | qry_elapsed       |    state
---------+------+------------+-------------------------+-------------------------+-------------
  657996 |      | replicator | 2024-11-11 21:03:00.992 | 57 days 16:38:22.342449 | active  4070070 | TAPc | TAP        | 2025-01-08 13:41:23.202 | 00:00:00.132817         | active  4070069 | TAPc | TAP        | 2025-01-08 13:41:23.140 | 00:00:00.194222         | active  4070065 | TAPc | TAP        | 2025-01-08 13:41:23.238 | 00:00:00.096418         | active
(4 rows)


--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!

--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux