Use COPY FREEZE in pgbench for faster benchmark table population.
authorTatsuo Ishii <ishii@postgresql.org>
Thu, 2 Sep 2021 01:39:09 +0000 (10:39 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Thu, 2 Sep 2021 01:39:09 +0000 (10:39 +0900)
commit06ba4a63b85e5aa47b325c3235c16c05a0b58b96
tree6314f1e5ebbf3424b10fab49e5923972dfe1b40a
parent469150a240dd79acbe7d86cb5df869d95f4d6d2d
Use COPY FREEZE in pgbench for faster benchmark table population.

While populating the pgbench_accounts table, plain COPY was
unconditionally used. By changing it to COPY FREEZE, the time for
VACUUM is significantly reduced, thus the total time of "pgbench -i"
is also reduced. This only happens if pgbench runs against PostgreSQL
14 or later because COPY FREEZE in previous versions of PostgreSQL does
not bring the benefit. Also if partitioning is used, COPY FREEZE
cannot be used. In this case plain COPY will be used too.

Author: Tatsuo Ishii
Discussion: https://postgr.es/m/20210308.143907.2014279678657453983.t-ishii@gmail.com
Reviewed-by: Fabien COELHO, Laurenz Albe, Peter Geoghegan, Dean Rasheed
doc/src/sgml/ref/pgbench.sgml
src/bin/pgbench/pgbench.c