For the CREATE stuff, the script language is SQL, the command to use it is

The real and hard part is to fill tables with meaningful pseudo-random
test data which do not violate constraints for any non trivial schema
involving foreign keys and various unique constraints.

The solution for this is SQL for trivial cases, think of:
   "INSERT INTO Foo() SELECT ... FROM generate_series(...);"

Yeah.  I was also thinking that complicated data-generation requirements
could be handled with plpgsql DO blocks, avoiding the need for hard-wired
code inside pgbench.

I do not thing that it is really be needed for what pgbench does, though. See attached attempt, including a no_foreign_keys option.

The only tricky thing is to have the elapsed/remaining advancement report on stdout, maybe with some PL/pgSQL.

Timings are very similar compared to "pgbench -i".


Attachment: pgbench_init.sql
Description: application/sql

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to