Re: Using COPY FREEZE in pgbench

Tatsuo Ishii <ishii@sraoss.co.jp>

From: Tatsuo Ishii <ishii@sraoss.co.jp>
To: coelho@cri.ensmp.fr
Cc: pgsql-hackers@lists.postgresql.org
Date: 2021-03-21T06:10:15Z
Lists: pgsql-hackers

Attachments

>> V3 works for me and looks ok. I changed it to ready in the CF app.
> 
> Thank you for your review!

Unfortunately it seems cfbot is not happy with the patch.

#   Failed test 'pgbench scale 1 initialization status (got 1 vs expected 0)'
#   at t/001_pgbench_with_server.pl line 116.
#   Failed test 'pgbench scale 1 initialization stderr /(?^:creating foreign keys)/'
#   at t/001_pgbench_with_server.pl line 116.
#                   'dropping old tables...
# creating tables...
# creating 2 partitions...
# creating primary keys...
# vacuuming...
# generating data (client-side)...
# 100000 of 100000 tuples (100%) done (elapsed 0.02 s, remaining 0.00 s)
# ERROR:  cannot perform COPY FREEZE on a partitioned table
# pgbench: fatal: PQendcopy failed

I think pgbench needs to check whether partitioning option is
specified or not. If specified, pgbench should not use COPY
FREEZE. Attached v4 patch does this.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp

Commits

  1. Use COPY FREEZE in pgbench for faster benchmark table population.

  2. Revert most of 39b66a91bd

  3. Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZE