Thread: pgbench % output incorrect with large scales

pgbench % output incorrect with large scales

From
Thom Brown
Date:
Hi all,

I've run pgbench with a scale of 2000, and have noticed that the %
done goes a bit wonky:

thom@bison:~$ pgbench -i -s 2000 pgbench
NOTICE:  table "pgbench_history" does not exist, skipping
NOTICE:  table "pgbench_tellers" does not exist, skipping
NOTICE:  table "pgbench_accounts" does not exist, skipping
NOTICE:  table "pgbench_branches" does not exist, skipping
creating tables...
100000 of 200000000 tuples (0%) done.
200000 of 200000000 tuples (0%) done.
300000 of 200000000 tuples (0%) done.
...
2000000 of 200000000 tuples (1%) done.
...
20000000 of 200000000 tuples (10%) done.
...
21500000 of 200000000 tuples (-10%) done.
...
23000000 of 200000000 tuples (-9%) done.
...
31000000 of 200000000 tuples (-5%) done.
...
41000000 of 200000000 tuples (0%) done.

and so on, and so forth.

Presumably this is just an int overflowing repeatedly.

--
Thom

Re: pgbench % output incorrect with large scales

From
Tom Lane
Date:
Thom Brown <thom@linux.com> writes:
> I've run pgbench with a scale of 2000, and have noticed that the %
> done goes a bit wonky:
> ...
> Presumably this is just an int overflowing repeatedly.

Yeah, fixed.  Thanks for the report!

(FWIW, you're not all that far away from the threshold where the integer
table columns wouldn't be wide enough.  I don't think we want to change
those datatypes, though.)

            regards, tom lane