I think we can use it like --custom-initialize="create_table, vacuum"
which is similar to what we specify a connection option to psql for

Even if it is allowed, do not advertise it. Or use space as a separator and not comma. ISTM that with psql connections space is the higher level separator, not an optional thing, and comma is used for lower level splitting: "host=foo port=5432,5433 ..."

But it will be unnecessary if we have the one letter version.


I'm also wondering whether using a list is a good option, because it implies
a large parse function, list management and so on. With the one letter
version, it could be just a string to be scanned char by char for

I basically agree with the one letter version. But I'm concerned that
it'll confuse users if we have more initialization steps for the
pgbench initialization. If we add more various initialization steps it
makes pgbench command hard to read and the users might have to
remember these options.

I think that if we get to the point where so many initialization steps that people get confused, then adding long names will not be an issue:-)

In the mean time it only needs 5 values.

Maybe there could be short-hands for usual setups, eg "default" for "tdpv"
or maybe "ct,ld,pk,va", "full" for "tdpfv" or maybe "ct,ld,pk,fk,va"...

If --custom-initialize option requires for i option to be set,
"pgbench -i" means the initialization with full steps and "pgbench -i
--custom-initialize=..." means the initialization with custom
operation steps.

Sure. It does not preclude the default to have a name.

Remove the "no-primary-keys" from the long option array as it has
disappeared. You might consider make "custom-initialize" take the 'I' short

Ranting unrelated to this patch: the automatic aid type switching based on
scale is a bad idea (tm), because when trying to benchmark it means that
changing the scale also changes the schema, and you really do not need that.
ISTM that it should always use INT8.

Hmm, I think it's a valid point. Should we allow users to specify like
the above thing in the custom initialization feature as well?

I would be in favor of having an option to do a tpc-b conforming schema which would include that, but which would also change the default balance type which is not large enough per spec. Maybe it could be "T".


Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to