pgsql: pgbench: Use COPY for client-side data generation

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pgbench: Use COPY for client-side data generation
Date: 2023-07-24 04:50:01
Message-ID: E1qNnWC-00131s-NL@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pgbench: Use COPY for client-side data generation

This commit switches the client-side data generation from INSERT queries
to COPY for the two tables pgbench_branches and pgbench_tellers.
pgbench_accounts was already using COPY.

COPY is a better interface for bulk loading or high latency connections
(this point can be countered with the option for server-side data
generation, still client-side is the default), and measurements have
proved that using it for these two other tables can lead to improvements
during initialization. I did not notice slowdowns at large scale
numbers on a local setup, either, most of the work happening for the
accounts table.

Previously COPY was only used for the pgbench_accounts table because the
amount of data was much larger than the two other tables. The code is
refactored so as all three tables use the same code path to execute the
COPY queries, with a callback to build data rows.

Author: Tristan Partin
Discussion: https://postgr.es/m/CSTU5P82ONZ1.19XFUGHMXHBRY@c3po

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e35cc3b3f2d081e2de3a0e077715d12b3580cc74

Modified Files
--------------
doc/src/sgml/ref/pgbench.sgml | 9 +--
src/bin/pgbench/pgbench.c | 155 +++++++++++++++++++++++++-----------------
2 files changed, 98 insertions(+), 66 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2023-07-24 15:23:18 pgsql: Compare only major versions in AdjustUpgrade.pm
Previous Message Amit Kapila 2023-07-24 02:46:43 Re: pgsql: Allow tailoring of ICU locales with custom rules