| From: | Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp> | 
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | enhanced pgbench | 
| Date: | 2005-09-28 05:09:47 | 
| Message-ID: | 20050928.140947.88470897.ishii@sraoss.co.jp | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Hi all,
We have enhanced pgbench so that it accepts a series of SQL commands
in a file(see attached patches against 8.0.3). This would make it
possible to test various sets of SQL commands. In the file it is
allowed to use a "meta command".  Currently only "\setrandom" meta
command is allowed, which sets specified random number into a
variable. For example,
\setrandom aid 1 100000
will set a random number into variable "aid" between 1 and 10000.
A variable can be reffered to in an SQL command by adding ":" in front
of the the command name.
Here is an example SQL command file.
\setrandom aid 1 100000
\setrandom bid 1 1
\setrandom tid 1 10
\setrandom delta 1 10000
BEGIN
UPDATE accounts SET abalance = abalance + :delta WHERE aid = :aid
SELECT abalance FROM accounts WHERE aid = :aid
UPDATE tellers SET tbalance = tbalance + :delta WHERE tid = :tid
UPDATE branches SET bbalance = bbalance + :delta WHERE bid = :bid
INSERT INTO history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, 'now')
END
This will execute virtually same SQL commands builtin pgbench.
To use the SQL command file, you can use "-f" option:
pgbench -f /foo/bar/sqlfile
I think the enhanced pgbench is quite usefull and I would like to
include in 8.1. Or should I keep it for 8.2?
--
SRA OSS, Inc. Japan
Tatsuo Ishii
| Attachment | Content-Type | Size | 
|---|---|---|
| unknown_filename | text/plain | 19.3 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2005-09-28 05:37:21 | Re: Making pgxs builds work with a relocated installation | 
| Previous Message | Tom Lane | 2005-09-28 04:14:19 | Re: Proposed p.tch for sequence-renaming problems |