Limit pgbench COPY FREEZE to ordinary relations
authorMelanie Plageman <melanieplageman@gmail.com>
Tue, 11 Feb 2025 21:51:28 +0000 (16:51 -0500)
committerMelanie Plageman <melanieplageman@gmail.com>
Tue, 11 Feb 2025 21:52:08 +0000 (16:52 -0500)
commitd0d649e91685081e6c5334d6d01ab4cd735b397d
tree37c8b56fca14104d34ed7ee8b05c04ac49b350e1
parent38172d1856b34792a5ee60eaa0d883166e90d33d
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
doc/src/sgml/ref/pgbench.sgml
src/bin/pgbench/pgbench.c