Thread: pgsql: Limit pgbench COPY FREEZE to ordinary relations

pgsql: Limit pgbench COPY FREEZE to ordinary relations

From
Melanie Plageman
Date:
Limit pgbench COPY FREEZE to ordinary relations

pgbench client-side data generation uses COPY FREEZE to load data for most
tables. COPY FREEZE isn't supported for partitioned tables and since pgbench
only supports partitioning pgbench_accounts, pgbench used a hard-coded check to
skip COPY FREEZE and use plain COPY for a partitioned pgbench_accounts.

If the user has manually partitioned one of the other pgbench tables, this
causes client-side data generation to error out with:

ERROR:  cannot perform COPY FREEZE on a partitioned table

Fix this by limiting COPY FREEZE to ordinary tables (RELKIND_RELATION).

Author: Sergey Tatarintsev <s.tatarintsev@postgrespro.ru>
Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m/flat/97f55fca-8a7b-4da8-b413-7d1c57010676%40postgrespro.ru

Branch
------
master

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

Modified Files
--------------
doc/src/sgml/ref/pgbench.sgml |  9 ++++-----
src/bin/pgbench/pgbench.c     | 41 +++++++++++++++++++++++++++++++----------
2 files changed, 35 insertions(+), 15 deletions(-)