Commit Graph

113 Commits

Author SHA1 Message Date
Bruce Momjian d747140279 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list
provided by Andrew.
2009-06-11 14:49:15 +00:00
Tom Lane 48caf91b66 Change pgbench to use the table names pgbench_accounts, pgbench_branches,
pgbench_history, and pgbench_tellers, rather than just accounts, branches,
history, and tellers.  This is to prevent accidental conflicts with real
application tables, as has been reported to happen at least once.  Also
remove the automatic "SET search_path = public" that it did at startup,
as this seems to restrict testing flexibility without actually buying much.
Per proposal by Joshua Drake and ensuing discussion.

Joshua Drake and Tom Lane
2009-05-07 22:01:18 +00:00
Peter Eisentraut b6e4c8f255 Equip the programs installed by contrib with proper --help and --version
options and normally formatted help output.
2009-02-27 09:30:21 +00:00
Peter Eisentraut a3c502c89f Remove feof(stdin) calls related to when to prompt for a password,
leftovers from when the password was read from stdin.
2009-02-25 13:24:40 +00:00
Tatsuo Ishii 40e01e267d Remove outdated Japanese README files per discussion. 2009-01-06 13:43:31 +00:00
Bruce Momjian 511db38ace Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Tom Lane cff4aa6ad6 Add a duration option to pgbench, so that test length can be specified in seconds
instead of by number of transactions to run.  Takahiro Itagaki
2008-09-11 23:52:48 +00:00
Bruce Momjian 6152de97d3 Minor patch on pgbench
1. -i option should run vacuum analyze only on pgbench tables, not *all*
tables in database.

2. pre-run cleanup step was DELETE FROM HISTORY then VACUUM HISTORY.
This is just a slow version of TRUNCATE HISTORY.

Simon Riggs
2008-08-22 17:57:34 +00:00
Tom Lane 6b1b4641b8 Give a warning if -s switch is used with a non-custom pgbench test.
Also, clean up the code that assigned the scale into :scale variables.
Greg Smith and Tom Lane
2008-05-09 15:53:07 +00:00
Tatsuo Ishii 49639a7b2c Add -M (query mode) option per ITAGAKI Takahiro 2008-03-19 03:33:21 +00:00
Tatsuo Ishii f755f2fef3 Fix tps calculation when -C supplied. Per Yoshiyuki Asaba.
Change Copyright owner from mine to PostgreSQL Global Development Group
Fix minor message typo
2008-03-19 00:29:35 +00:00
Tom Lane b7a67c2840 Add a comment explaining one of the ways that pgbench fails to fully
comply with TPC-B.  Per Itagaki Takahiro and discussion of bug#3681.
2008-03-12 02:18:33 +00:00
Tom Lane 9537739f7f Fix pgbench's getrand() function so that min and max have approximately
the same chance of being selected as do numbers between them.  Problem
noted by Greg Stark; fix by Alexey Klyukin.
2008-03-10 01:23:04 +00:00
Tom Lane 4192f2d85a Remove the -P options of oid2name and pgbench, as they are security
hazards.  Instead teach these programs to prompt for a password when
necessary, just like all our other programs.
I did not bother to invent -W switches for them, since the return on
investment seems so low.
2007-12-11 02:31:49 +00:00
Bruce Momjian fdf5a5efb7 pgindent run for 8.3. 2007-11-15 21:14:46 +00:00
Bruce Momjian 541ff409cc Remove references to READMEs from /contrib Makefiles. 2007-11-10 23:59:52 +00:00
Bruce Momjian c3c69ab4fd Move most /contrib README files into SGML. Some still need conversion
or will never be converted.
2007-11-10 23:30:46 +00:00
Magnus Hagander f04b8a8e2c Increase FD_SETSIZE on Win32 to allow for more than 54 clients.
Per Greg Stark & Dave Page
2007-10-22 10:40:47 +00:00
Tom Lane ffda674769 Tweak pgbench.c to remove the hidden assumption that a WIN32 machine
couldn't possibly HAVE_GETOPT.  I believe this is the most appropriate
form of the patch submitted 2007-08-07 by Hiroshi Saito, though not
having a Windows build environment I won't know for sure till I see
the buildfarm results.
2007-09-27 20:39:43 +00:00
Tatsuo Ishii e4a52eca35 The upper limit for -c option of pgbench is now obtained from
(FD_SETSIZE - 10) rather than a hardwired number.
2007-08-25 09:21:14 +00:00
Tom Lane d097534219 Fix possible core dump from pgbench -d option. Julius Stroffek 2007-08-22 23:03:27 +00:00
Tom Lane cd54eb2b5b Fix possible portability problem, per buildfarm warnings. 2007-07-15 22:34:26 +00:00
Jan Wieck 9fbcf6625e Changed new \usleep command into \sleep with an optional time unit
argument to specify us, ms or s. As per suggestion by Peter E.

Jan
2007-07-06 20:17:02 +00:00
Jan Wieck 0f17da9b3e Added a new scripting meta command
\usleep [milliseconds|:variable]

which can be used in -f scripts to insert a thinking time between
other commands.

Jan
2007-07-06 13:36:55 +00:00
Tom Lane b09c248bdd Fix PGXS conventions so that extensions can be built against Postgres
installations whose pg_config program does not appear first in the PATH.
Per gripe from Eddie Stanley and subsequent discussions with Fabien Coelho
and others.
2007-06-26 22:05:04 +00:00
Tom Lane a868e24660 Avoid assuming that the fields of struct timeval have exactly type long.
This is probably incorrect on some platforms, and definitely draws a
compiler warning on Darwin.
2007-05-24 18:54:10 +00:00
Tatsuo Ishii 2fca2c05e7 Add -F option to set fillfactor for tellers, accounts and branches.
Patch contributed by Pavan Deolasee. Along with Japanese doc
modification by Tatsuo Ishii.
2007-04-08 01:15:07 +00:00
Tatsuo Ishii e574f2a029 Enhance pgbench -l option to add timestamp. Patch contributed by Greg
Smith. Along with Japanese doc updation by Tasuo Ishii.

> This patch changes the way pgbench outputs its latency log files so that
> every transaction gets a timestamp and notes which transaction type was
> executed.  It's a one-line change that just dumps some additional
> information that was already sitting in that area of code. I also made a
> couple of documentation corrections and clarifications on some of the more
> confusing features of pgbench.
>
> It's straightforward to parse log files in this format to analyze what
> happened during the test at a higher level than was possible with the
> original format.  You can find some rough sample code to convert this
> latency format into CVS files and then into graphs at
> http://www.westnet.com/~gsmith/content/postgresql/pgbench.htm which I'll
> be expanding on once I get all my little patches sent in here.
2007-04-06 09:16:16 +00:00
Tatsuo Ishii 7e96269a82 Various pgbench enhancements. Patch contributed by ITAGAKI Takahiro.
Also tweak README.pgbench/README.pgbench_jis:
  Remove history after pgbench was added to PostgreSQL contrib module.
  Those info was not only redundant since it has already been in CVS
  log, but also incomplete.
--------------------------------------------------------------------------
The attached is a patch to optimize contrib/pgbench using new 8.3 features.

- Use DROP IF EXISTS to suppress errors for initial loadings.
- Use a combination of TRUNCATE and COPY to reduce WAL on creating
  the accounts table.

Also, there are some cosmetic changes.

- Change the output of -v option from "starting full vacuum..."
  to "starting vacuum accounts..." in reflection of the fact.
- Shape duplicated error checks into executeStatement().


There is a big performance win in "COPY with no WAL" feature.
Thanks for the efforts!
--------------------------------------------------------------------------
2007-04-06 08:49:44 +00:00
Magnus Hagander b082ef7f12 Set stderr to unbuffered for pgbench on win32.
ITAGAKI Takahiro
2007-03-13 09:06:35 +00:00
Tom Lane 686f15e39e Adjust pgbench so it won't spit up on non-select queries returning
tuples, which is entirely possible with custom scripts (consider
RETURNING, EXPLAIN, etc).
2007-01-22 02:17:30 +00:00
Tatsuo Ishii a733d281c0 Update copyright year 2007-01-10 01:18:40 +00:00
Tatsuo Ishii 39def593c5 Call srandom() instead of srand().
pgbench calls random() later, so it should have called srandom().
On most platforms except Windows srandom() is actually identical
to srand(), so the bug only bites Windows users.
per bug report from Akio Ishida.
2006-12-26 01:02:05 +00:00
Tatsuo Ishii a5007d671a pgbench: More fix with handling default scaling factor in the default
scenarios. With multiple clinets, only the first client got the right
scaling factor and this gave a illusion of better performance in case
of the scaling factor greater than 1.
2006-10-21 06:31:28 +00:00
Tom Lane 71a6f8b85b On platforms that have getrlimit(RLIMIT_STACK), use it to ensure that
max_stack_depth is not set to an unsafe value.

This commit also provides configure-time checking for <sys/resource.h>,
and cleans up some perhaps-unportable code associated with use of that
include file and getrlimit().
2006-10-07 19:25:29 +00:00
Bruce Momjian f99a569a2e pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
Tom Lane ac733df61b Fix some more uses of str[n]casecmp that should be pg_str[n]casecmp. 2006-09-16 13:31:40 +00:00
Tatsuo Ishii ea21eea6a8 Change "tps" to "scale" to avoid confusion
Fix bug with handling default scaling factor in the default
scenarios
2006-09-13 00:39:19 +00:00
Tatsuo Ishii 66541c5aa5 Fix pgbench to handle empty lines in script files as documented.
patches contributed by Itagaki Takahiro.
2006-08-15 13:05:30 +00:00
Tatsuo Ishii 68dfef040b Fix memory allocation bug in pgbench.
patches submitted by ITAGAKI Takahiro.
2006-07-31 05:15:14 +00:00
Tatsuo Ishii 46d9c2ec8f Change the delta val from 0 and 10000 to -5000 and 5000 per recent
discussion in hackers list.  Also enhance predefined benchmark
scenarios to reflect the scaling factor parameter flexibly.
2006-07-28 22:58:26 +00:00
Tatsuo Ishii 0c57c832b9 New features contributed by Tomoaki Sato.
- predefined variable "tps"
  The value of variable tps is taken from the scaling factor
  specified by -s option.

- -D option
  Variable values can be defined by -D option.

- \set command now allows arithmetic calculations.
2006-07-26 07:24:50 +00:00
Tom Lane 69525fc0ef Remove incorrect increment of lineno, per David Fetter.
Sync HEAD and 8.1 branches of pgbench.
2005-12-10 01:09:07 +00:00
Tatsuo Ishii baa6b22fcb Having blank lines in -f scripts was causing silent failures.
per David Fetter
2005-11-23 12:19:12 +00:00
Bruce Momjian aac96b8994 Fix pgindent of libpq-fe.h by hacking pgindent script.
Remove pgbench comment that was causing problems.
2005-11-23 04:23:30 +00:00
Bruce Momjian 436a2956d8 Re-run pgindent, fixing a problem where comment lines after a blank
comment line where output as too long, and update typedefs for /lib
directory.  Also fix case where identifiers were used as variable names
in the backend, but as typedefs in ecpg (favor the backend for
indenting).

Backpatch to 8.1.X.
2005-11-22 18:17:34 +00:00
Tatsuo Ishii 2feb930af6 Fix comment on -v option 2005-11-16 13:13:08 +00:00
Tom Lane 9ee0a7df50 Fix some allocation size calculation errors that would cause pgbench
to fail with large test scripts.
2005-10-29 19:38:07 +00:00
Tom Lane 0631059c9c Fix unportable struct initializations. 2005-10-15 20:24:00 +00:00
Bruce Momjian 1dc3498251 Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00