I've just done a quick review of the source, as I've been hacking in
pgbench myself.
I think that the feature makes sense.
About the details of the patch:
(1) Some changes in the patch are unrelated to the purpose of the patch
(e.g. spacing changes, error message...), and should be removed?
(2) Instead adding a new function, I would suggest to modify the existing
one with an added argument, which would be ignored when NULL is passed.
(3) I'm not sure of the behavior of the feature. What if two statements
are required, should it not be able to handle multiple --startup
specifications, say with an array instead of a scalar?
(4) C style: there is no need to put a ";" after "}".
(5) In the documentation, other options do not put a "=" sign between the
option and its argument, although it is also accepted.
Have a nice day,
--
Fabien.