• Tom Lane's avatar
    Converge all SQL-level statistics timing values to float8 milliseconds. · 809e7e21
    Tom Lane authored
    This patch adjusts the core statistics views to match the decision already
    taken for pg_stat_statements, that values representing elapsed time should
    be represented as float8 and measured in milliseconds.  By using float8,
    we are no longer tied to a specific maximum precision of timing data.
    (Internally, it's still microseconds, but we could now change that without
    needing changes at the SQL level.)
    
    The columns affected are
    pg_stat_bgwriter.checkpoint_write_time
    pg_stat_bgwriter.checkpoint_sync_time
    pg_stat_database.blk_read_time
    pg_stat_database.blk_write_time
    pg_stat_user_functions.total_time
    pg_stat_user_functions.self_time
    pg_stat_xact_user_functions.total_time
    pg_stat_xact_user_functions.self_time
    
    The first four of these are new in 9.2, so there is no compatibility issue
    from changing them.  The others require a release note comment that they
    are now double precision (and can show a fractional part) rather than
    bigint as before; also their underlying statistics functions now match
    the column definitions, instead of returning bigint microseconds.
    809e7e21
rules.out 94.2 KB