Re: [HACKERS] pgbench: Skipping the creating primary keys afterinitialization - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: [HACKERS] pgbench: Skipping the creating primary keys afterinitialization
Date
Msg-id alpine.DEB.2.20.1709041927450.16641@lancre
Whole thread Raw
In response to Re: [HACKERS] pgbench: Skipping the creating primary keys after initialization  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: [HACKERS] pgbench: Skipping the creating primary keys after initialization
List pgsql-hackers
Hello Masahiko-san,

>>> Currently TRUNCATE pgbench_accounts command is executed within a
>>> transaction started immediately before it. If we move it out of the
>>> transaction, the table data will be truncated even if the copying data
>>> failed. Maybe we can do TRUNCATE pgbench_accounts, pgbench_history
>>> instead. Thought?
>>
>>
>> Keep the truncate in the transaction, and truncate both (or all?) tables
>> together.
>
> Attached latest patch incorporated the comments I got so far. Please review it.

"g" does not work for me yet when after "f", only the message is slightly 
different, it chokes on another dependency, branches instead of accounts.
  sh> ./pgbench -i -I ctpfg  cleaning up...  creating tables...  set primary keys...  set foreign keys...  ERROR:
cannottruncate a table referenced in a foreign key constraint  DETAIL:  Table "pgbench_history" references
"pgbench_branches". HINT:  Truncate table "pgbench_history" at the same time, or use TRUNCATE ... CASCADE.
 

I think that the whole data generation should be in *one* transaction 
which starts with "truncate pgbench_history, pgbench_branches, 
pgbench_tellers, pgbench_accounts;"

In passing, I think that the documentation should tell explicitely what 
the default value is (aka "ctgvp").

-- 
Fabien.



pgsql-hackers by date:

Previous
From: Adrien Nayrat
Date:
Subject: Re: [HACKERS] ALTER INDEX .. SET STATISTICS ... behaviour
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Variable substitution in psql backtick expansion