def get_oldest_transaction_timestamp()

in postgresql_metrics/postgres_queries.py [0:0]


def get_oldest_transaction_timestamp(conn):
    sql = ("SELECT datname, now(), xact_start FROM pg_stat_activity "
           "WHERE xact_start IS NOT NULL AND datname=current_database() "
           "ORDER BY xact_start ASC LIMIT 1")
    results = query(conn, sql)
    if results:
        db_name, time_now, xact_start = results[0]
        seconds_since_oldest_xact_start = int((time_now - (xact_start or time_now)).total_seconds())
        return db_name, seconds_since_oldest_xact_start
    return None, None