Hi all,
Here is a short patch implementing a new feature in pgbench so as to allow shell commands to be launched in a transaction file of pgbench.
the user has just to add at the beginning of the command line in his transaction file \shell + the command wanted.
As an example of transaction:
Begin;
[Transaction instructions]
Prepare transaction ‘TXID’;
\shell ls ~/pg_twophase;
Commit prepared ‘TXID’;
This patch was particularly useful in order to determine the size of state files flushed to disk for prepared but not committed transactions.
As an addition, I added a new default transaction in the code that permits to launch a 2PC transaction with a random prepare identifier of the format Txxx.
I also created a page in postgresql's wiki about this feature.
Please refer to this link:
http://wiki.postgresql.org/wiki/Pgbench:_shell_command Regards,
--
Michael Paquier
NTT OSSC