On Mon, Jun 29, 2026 at 2:02 PM Bertrand Drouvot <[email protected]> wrote: > > Hi hackers, > > while reviewing [1], I noticed that the IO timings displayed in pg_stat_io can > produce floating-point noise like: > > postgres=# select read_time from pg_stat_io where read_time > 0; > read_time > --------------------- > 2.2640000000000002 > 0.08700000000000001 > > That's because 0.001 cannot be represented exactly in binary floating > point. I think this output looks weird, even if understandable. Note that with > extra_float_digits set to 0 you don't see the noise (but 1 is the default).
Yes, multiplying by that constant also multiplies the rounding error. > Given that / 1000.0 is the most common way to do this kind of computation in > the > code tree, I think that it makes sense to update pg_stat_us_to_ms() to do so. +1, I'll take care of this. -- John Naylor Amazon Web Services
