mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
9c505e484c
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. |
||
---|---|---|
.. | ||
Makefile | ||
pgbench.c | ||
README.pgbench | ||
README.pgbench_jis |
pgbench README 2006/10/21 Tatsuo Ishii $B"#(Bpgbench $B$H$O!)(B pgbench $B$O(BPostgreSQL$B$N%Y%s%A%^!<%/%F%9%H$r9T$J$&%W%m%0%i%`$G$9!%(B pgbench $B$O(B SELECT/UPDATE/INSERT $B$r4^$`%H%i%s%6%/%7%g%s$r<B9T$7!$A4BN$N(B $B<B9T;~4V$H<B:]$K40N;$7$?%H%i%s%6%/%7%g%s$N?t$+$i(B 1 $BIC4V$K<B9T$G$-$?%H(B $B%i%s%6%/%7%g%s?t(B (tps) $B$rI=<($7$^$9!%=hM}$NBP>]$H$J$k%F!<%V%k$O%G%U%)(B $B%k%H$G$O(B 10$BK|%?%W%k$N%G!<%?$r4^$_$^$9!%(B $B<B:]$NI=<($O0J2<$N$h$&$J46$8$G$9!%(B number of clients: 4 number of transactions per client: 100 number of processed transactions: 400/400 tps = 19.875015(including connections establishing) tps = 20.098827(excluding connections establishing) pgbench $B$O(B JDBCBench $B$H$$$&!$$b$H$b$H$O(B MySQL $BMQ$K=q$+$l$?(B JDBC $BMQ$N%Y(B $B%s%A%^!<%/%W%m%0%i%`$r;29M$K:n@.$5$l$^$7$?!%(B $B"#(Bpgbench $B$NFCD'(B o C $B8@8l$H(B libpq $B$@$1$G=q$+$l$F$$$k$N$G0\?"@-$,9b$/!$4JC1$K%$%s%9%H!<(B $B%k$G$-$^$9!%(B o pgbench $B$O(B libpq $B$NHsF14|=hM}5!G=$r;H$C$F%^%k%A%f!<%64D6-$r%7%_%e%l!<(B $B%H$7$^$9!%MF0W$KF1;~@\B34D6-$r%F%9%H$G$-$^$9!%(B $B"#(Bpgbench $B$N%$%s%9%H!<%k(B PostgreSQL$B$r%3%s%Q%$%k!$%$%s%9%H!<%k$7$?8e(B $ make $ make install $B$H$7$^$9!%(B $B"#(Bpgbench $B$N;H$$J}(B $ pgbench [$B%G!<%?%Y!<%9L>(B] $B$G$9!%%G!<%?%Y!<%9L>$r>JN,$9$k$H!$%f!<%6L>$HF1$8%G!<%?%Y!<%9$r;XDj$7$?(B $B$b$N$H$_$J$7$^$9!%%G!<%?%Y!<%9$O8e=R$N(B -i $B%*%W%7%g%s$r;H$C$F$"$i$+$8$a(B $B=i4|2=$7$F$*$/$3$H$,$G$-$^$9!%(B-f$B%*%W%7%g%s$r;H$C$FFH<+$N%H%i%s%6%/%7%g(B $B%s$rDj5A$9$k>l9g$O!$<+J,$G%G!<%?%Y!<%9$N=i4|2=$r$7$F$*$/I,MW$,$"$j$^$9!%(B pgbench $B$K$O$$$m$$$m$J%*%W%7%g%s$,$"$j$^$9!%(B -h $B%[%9%HL>(B PostgreSQL$B$N%G!<%?%Y!<%9%G!<%b%s(B postmaster $B$NF0(B $B$$$F$$$k%[%9%HL>$r;XDj$7$^$9!%>JN,$9$k$H<+%[%9%H$K(B Unix domain socket $B$G@\B3$7$^$9!%(B -p $B%]!<%HHV9f(B postmaster $B$N;HMQ$9$k%]!<%HHV9f$r;XDj$7$^$9!%>JN,$9$k$H(B 5432 $B$,;XDj$5$l$?$b$N$H$_$J$7$^$9!%(B -c $B%/%i%$%"%s%H?t(B $BF1;~<B9T%/%i%$%"%s%H?t$r;XDj$7$^$9!%>JN,;~$O(B 1 $B$H$J$j$^$9!%(Bpgbench $B$OF1;~<B9T%/%i%$%"%s%HKh$K(B $B%U%!%$%k%G%#%9%/%j%W%?$r;HMQ$9$k$N$G!$;HMQ2DG=(B $B%U%!%$%k%G%#%9%/%j%W%??t$r1[$($k%/%i%$%"%s%H?t$O(B $B;XDj$G$-$^$;$s!%;HMQ2DG=%U%!%$%k%G%#%9%/%j%W%??t(B $B$O(B limit $B$d(B ulimit $B%3%^%s%I$GCN$k$3$H$,$G$-$^$9!%(B -t $B%H%i%s%6%/%7%g%s?t(B $B3F%/%i%$%"%s%H$,<B9T$9$k%H%i%s%6%/%7%g%s?t$r(B $B;XDj$7$^$9!%>JN,;~$O(B 10 $B$H$J$j$^$9!%(B -s $B%9%1!<%j%s%0%U%!%/%?!<(B -i $B%*%W%7%g%s$H0l=o$K;HMQ$7$^$9!%(B $B%9%1!<%j%s%0%U%!%/%?!<$O(B1$B0J>e$N@0?t!%%9%1!<%j%s%0%U%!(B $B%/%?!<$rJQ$($k$3$H$K$h$j!$%F%9%H$NBP>]$H$J$k%F!<%V%k$N(B $BBg$-$5$,(B 10$BK|(B x [$B%9%1!<%j%s%0%U%!%/%?!<(B]$B$K$J$j$^$9!%(B $B%G%U%)%k%H$N%9%1!<%j%s%0%U%!%/%?!<$O(B 1 $B$G$9!%(B -f $B%*%W%7%g%s$G;XDj$7$?%U%!%$%k$+$i%9%1!<%j%s%0%U%!%/(B $B%?!<$r;2>H$9$k$K$O(B scale $B$H$$$&JQ?tL>$r;HMQ$7$^$9!%(B -D varname=value $BJQ?t$rDj5A$7$^$9!%Dj5A$7$?JQ?t$O(B -f $B%*%W%7%g%s$G;XDj$7$?%U%!%$(B $B%k$+$i;2>H$G$-$^$9!%(B-D $B%*%W%7%g%s$G$OJQ?tL>$HCM$r(B = ($B%$%3!<%k(B) $B$G6h@Z$C$F;XDj$7$^$9!%(B-D $B%*%W%7%g%s$OJ#?t;XDj$G$-$^$9!%(B -U login DB$B%f!<%6$N%m%0%$%sL>$r;XDj$7$^$9!%(B -P password $B%Q%9%o!<%I$r;XDj$7$^$9!%$J$*!$$3$N%*%W%7%g%s$r;H$&$H!$(B $B%Q%9%o!<%I$r(Bps$B%3%^%s%I$G8+$i$l$k$J$I!$%;%-%e%j%F%#%[!<(B $B%k$K$J$k2DG=@-$,$"$k$N$G!$%F%9%HMQ$K$N$_$*;H$$2<$5$$!%(B -n $B$3$N%*%W%7%g%s$r;XDj$9$k$H!$%Y%s%A%^!<%/3+;OA0$K(B vacuum $B$H(B history $B$N%/%j%"$r9T$J$$$^$;$s!%(B -v $B$3$N%*%W%7%g%s$r;XDj$9$k$H!$%G%U%)%k%H$N;vA0%/%j!<%s%"%C(B $B%W=hM}$K2C$(!$(Baccounts$B$r(BVACUUM ANALYZE$B$7$^$9!%(B -v -n $B$NN>J}$r>JN,$7$?>l9g$N%G%U%)%k%H;vA0%/%j!<%s%"%C(B $B%W=hM}$O!$0J2<$N=hM}$r9T$$$^$9!%(B - history$B$+$i$NA49T:o=|(B - branches, tellers, history$B$N(BVACUUM $B$3$l$O!$(Bvacuum $B$N;~4V$r:G>.8B$K$7$J$,$i!$%Q%U%)!<%^%s%9$K(B $B1F6A$9$k%4%_A]=|$r8z2LE*$K9T$$$^$9!%DL>o$O(B -v $B$H(B -n $B$r(B $B>JN,$9$k$3$H$r$*$9$9$a$7$^$9!%(B -S TPC-B$B$N%H%i%s%6%/%7%g%s$G$O$J$/!$8!:w$N$_$N%H%i%s%6%/%7%g%s$r(B $B<B9T$7$^$9!%8!:w%9%T!<%I$rB,Dj$7$?$$$H$-$K;H$$$^$9!%(B -N "branches"$B$H(B"tellers"$B%F!<%V%k$N99?7$r9T$$$^$;$s!%$3$l(B $B$K$h$C$F(B"branches"$B$H(B"tellers"$B$X$NBgNL$N99?7$N6%9g$N$J(B $B$$>uBV$G$NB,Dj$r9T$$$^$9!%$7$?$,$C$F(BTPC-B$B$N%9%Z%C%/$K(B $B$OE,9g$7$J$/$J$j$^$9$,!$$h$j8=<BE*$JIi2Y$r%F%9%H$9$k$3(B $B$H$,$G$-$^$9!%(B -f filename $B%H%i%s%6%/%7%g%s$NFbMF$,5-=R$5$l$?%U%!%$%kL>$r;XDj$7$^(B $B$9!%$3$N%*%W%7%g%s$r;XDj$9$k$H!$%U%!%$%k$K5-=R$5$l$?Fb(B $BMF$N%H%i%s%6%/%7%g%s$r<B9T$7$^$9!%$J$*!$%Y%s%A%^!<%/$N(B $BBP>]$H$J$k%G!<%?%Y!<%9$O$"$i$+$8$a=i4|2=$7$F$*$/I,MW$,(B $B$"$j$^$9!%F~NO%U%)!<%^%C%H$K$D$$$F$O8e=R$7$^$9!%(B -C $B$3$N%*%W%7%g%s$r;XDj$9$k$H!$:G=i$K3NN)$7$?%3%M%/%7%g%s(B $B$r;H$$2s$9$N$G$O$J$/!$3F%H%i%s%6%/%7%g%s$4$H$K(BDB$B$X$N@\(B $BB3$r9T$$$^$9!%%3%M%/%7%g%s$N%*!<%P!<$X%C%I$rB,Dj$9$k$N(B $B$KM-8z$G$9!%(B -l $B8D!9$N%H%i%s%6%/%7%g%s$N<B9T;~4V$r5-O?$7$^$9!%5-O?@h$O(B $B%+%l%s%H%G%#%l%/%H%j0J2<$N(Bpgbench_log.xxx$B$H$$$&%U%!%$(B $B%k$G$9!%%U%!%$%k$N%U%)!<%^%C%H$O!$(B $B%/%i%$%"%s%H(BID $B%H%i%s%6%/%7%g%sHV9f(B $B;~4V(B $B$H$J$C$F$$$^$9!%;~4V$O%^%$%/%mICC10L$G$9!%(B -d $B%G%P%C%0%*%W%7%g%s!%MM!9$J>pJs$,I=<($5$l$^$9!%(B $B"#%G!<%?%Y!<%9$N=i4|2=(B pgbench $B$G%Y%s%A%^!<%/%F%9%H$r<B;\$9$k$?$a$K$O!$$"$i$+$8$a%G!<%?%Y!<%9(B $B$r=i4|2=$7!$%F%9%H%G!<%?$r:n$kI,MW$,$"$j$^$9!%(B-f$B%*%W%7%g%s$r;H$C$FFH<+(B $B$N%H%i%s%6%/%7%g%s$rDj5A$9$k>l9g$O!$<+J,$G%G!<%?%Y!<%9$N=i4|2=$r$7$F$*(B $B$/I,MW$,$"$j$^$9!%(B $ pgbench -i [$B%G!<%?%Y!<%9L>(B] $B$3$l$K$h$j0J2<$N%F!<%V%k$,:n$i$l$^$9(B($B%9%1!<%j%s%0%U%!%/%?!<(B == 1 $B$N>l9g(B)$B!%(B $B!vCm0U!v(B $BF1$8L>A0$N%F!<%V%k$,$"$k$H:o=|$5$l$F$7$^$&$N$G$4Cm0U2<$5$$!*!*(B $B%F!<%V%kL>(B $B%?%W%k?t(B ------------------------- branches 1 tellers 10 accounts 100000 history 0 $B%9%1!<%j%s%0%U%!%/%?!<$r(B 10,100,1000 $B$J$I$KJQ99$9$k$H!$>e5-%?%W%k?t$O(B $B$=$l$K1~$8$F(B10$BG\!$(B100$BG\!$(B1000$BG\$K$J$j$^$9!%%F!<%V%k$H%$%s%G%C%/%9$N%5(B $B%$%:$O%G!<%?%Y!<%9%5%$%:$O35$M$=$l$>$l!$(B130MB$B!$(B1.3GB$B!$(B13GB$B$[$I$K$J$j$^(B $B$9!%(B $B$?$H$($P!$%9%1!<%j%s%0%U%!%/%?!<$r(B 10 $B$H$9$k$H!$(B $B%F!<%V%kL>(B $B%?%W%k?t(B ------------------------- branches 10 tellers 100 accounts 1000000 history 0 $B$K$J$j$^$9!%(B $B"#!V%H%i%s%6%/%7%g%s!W$NDj5A(B pgbench $B$G$O!$0J2<$N%7!<%1%s%9$rA4It40N;$7$F(B1$B%H%i%s%6%/%7%g%s$H?t$($F(B $B$$$^$9!%(B (1) begin; (2) update accounts set abalance = abalance + :delta where aid = :aid; $B$3$3$G!$(B:delta$B$O(B1$B$+$i(B1000$B$^$G$NCM$r<h$kMp?t!$(B:aid $B$O(B 1$B$+$i(B100000$B$^$G(B $B$NCM$r<h$kMp?t$G$9!%0J2<!$Mp?t$NCM$O$=$l$>$l$3$N%H%i%s%6%/%7%g%s$N(B $BCf$G$OF1$8CM$r;H$$$^$9!%(B (3) select abalance from accounts where aid = :aid; $B$3$3$G$O(B1$B7o$@$18!:w$5$l$^$9!%(B (4) update tellers set tbalance = tbalance + :delta where tid = :tid; $B$3$3$G(B :tid $B$O(B 1$B$+$i(B10$B$N4V$NCM$r$H$kMp?t$G$9!%(B (5) update branches set bbalance = bbalance + :delta where bid = :bid; $B$3$3$G(B :bid $B$O(B 1 $B$+$i(B[$B%9%1%j%s%0%U%!%/%?!<(B]$B$N4V$NCM$r<h$kMp?t$G$9!%(B (6) insert into history(tid,bid,aid,delta) values(:tid,:bid,:aid,:delta); (7) end; $B"#F~NO%U%!%$%k$N%U%)!<%^%C%H(B -f $B%*%W%7%g%s$r;XDj$7$F%H%i%s%6%/%7%g%s$K4^$^$l$k(B SQL $B%3%^%s%I$NFbMF$r(B $B5-=R$7$?%U%!%$%k$rFI$_9~$`$3$H$,$G$-$^$9!%F~NO%U%!%$%k$K$O(B 1 $B9T$K$D$-(B 1 $B$D$N%3%^%s%I$r5-=R$7$^$9!%6u9T$OL5;k$5$l!$Fs=E%O%$%U%s$G;O$^$k9T$O%3(B $B%a%s%H$r0UL#$7$^$9!%(B -f $B%*%W%7%g%s$OJ#?t;XDj$G$-$^$9!%$3$N>l9g$O3F%H%i%s%6%/%7%g%s$K$O%i%s(B $B%@%`$KA*$P$l$?%U%!%$%k$K5-=R$5$l$?(BSQL$B$,<B9T$5$l$^$9!%(B $B%3%^%s%I$K$O!$(BSQL $B%3%^%s%I$K2C$(!$%P%C%/%9%i%C%7%e$G;O$^$k%a%?%3%^%s%I(B $B$r5-=R$G$-$^$9!%%a%?%3%^%s%I$O(B pgbench $B<+?H$K$h$C$F<B9T$5$l$^$9!%%a%?(B $B%3%^%s%I$N7A<0$O%P%C%/%9%i%C%7%e!$$=$ND>8e$K%3%^%s%I$NF0;l!$$=$N<!$K0z(B $B?t$,B3$-$^$9!%F0;l%3%^%s%I$H0z?t!$$^$?$=$l$>$l$N0z?t$O6uGrJ8;z$K$h$C$F(B $B6h@Z$i$l$^$9!%(B $B8=:_$N$H$3$m!$0J2<$N%a%?%3%^%s%I$,Dj5A$5$l$F$$$^$9!%(B \set name operand1 [ operator operand2 ] $BHo1i;;?t(B operand1 $B$H(B operand2 $B$r1i;;;R(B operator $B$K$h$C$F1i;;$7(B $B$?7k2L$rJQ?t(B name $B$K@_Dj$7$^$9!%8=>u$G$O@0?t$N;MB'1i;;$N$_$KBP(B $B1~$7$F$$$^$9!%$J$*!$1i;;;R$H(B 2 $B$DL\$NHo1i;;?t$r>JN,$9$k$HC1=c(B $B$K(B 1 $B$DL\$NHo1i;;?t$rJQ?t$K@_Dj$7$^$9!%(B $BJQ?t$K1i;;$N7k2L$r@_Dj$9$k$K$O!$(B\set $B%a%?%3%^%s%I$r;HMQ$7$F0J(B $B2<$N$h$&$K5-=R$7$^$9!%(B \set ntellers 10 * :tp $B$3$l$O!$JQ?t(B ntellers $B$K%9%1!<%j%s%0%U%!%/%?!<(B (-s $B%*%W%7%g%s(B $B$G;XDj$7$?(B) $B$r(B 10 $BG\$7$?7k2L$r@_Dj$7$^$9!%(B \setrandom name min max $B:G>.CM(B min $B$H:GBgCM(B max $B$N4V$NCM$r<h$kMp?t$r!$(Bname $BJQ?t$K@_Dj(B $B$7$^$9!%(B $BJQ?t$KMp?t$r@_Dj$9$k$K$O!$(B\setrandom $B%a%?%3%^%s%I$r;HMQ$7$F0J2<$N$h$&(B $B$K5-=R$7$^$9!%(B \setrandom aid 1 100000 $B$3$l$O!$JQ?t(B aid $B$K(B 1 $B$+$i(B 100000 $B$N4V$NMp?t$r@_Dj$7$^$9!%(B $BJQ?t$O(B SQL $B%3%^%s%I$*$h$S%a%?%3%^%s%I$+$i;2>H$G$-$^$9!%$=$l$K$O0J2<$N(B $B$h$&$KJQ?tL>$NA0$K%3%m%s$rIU$1$^$9!%(B SELECT abalance FROM accounts WHERE aid = :aid $BJQ?t$rDj5A$9$k$K$O%a%?%3%^%s%I0J30$K(B -D $B%*%W%7%g%s$r;HMQ$9$k$3$H$b$G$-(B $B$^$9!%(B -D $B%*%W%7%g%s$GDj5A$7$?JQ?t$bJQ?tL>$NA0$K%3%m%s$rIU$1$F;2>H$7$^(B $B$9!%(B $BNc$($P!$(BTCP-B $B$KN`;w$7$?%Y%s%A%^!<%/$r7WB,$9$k$K$O!$0J2<$N$h$&$K%H%i%s(B $B%6%/%7%g%s$NFbMF$r%U%!%$%k$K5-=R$7!$(B-f $B%*%W%7%g%s$K$h$C$F$=$N%U%!%$%k(B $B$r;XDj$7$F(B pgbench $B$r<B9T$7$^$9!%(B \set nbranches :scale \set ntellers 10 * :scale \set naccounts 100000 * :scale \setrandom aid 1 :naccounts \setrandom bid 1 :nbranches \setrandom tid 1 :ntellers \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, current_timestamp) END $B%9%1!<%j%s%0%U%!%/%?!<$r(B branches $B%F!<%V%k$N%?%W%k?t$+$i<+F0E*$K@_Dj$7(B $B$?$$>l9g!$0J2<$N$h$&$K(B -s $B%*%W%7%g%s$H%7%'%k$N%3%^%s%ICV49$J$I$rAH$_9g(B $B$o$;$^$9!%(B pgbench -s $(psql -At -c "SELECT count(*) FROM branches") -f tpc_b.sql $B$J$*!$(B-f $B%*%W%7%g%s$r;XDj$7$?>l9g!$%Y%s%A%^!<%/3+;OA0$K(B vacuum $B$H(B history $B$N%/%j%"$O<+F0E*$K9T$o$l$^$;$s!%(B $B"#:n<T$H%i%$%;%s%9>r7o(B pgbench $B$O@P0f(B $BC#IW$K$h$C$F=q$+$l$^$7$?!%%i%$%;%s%9>r7o$O(B pgbench.c $B$N(B $BKAF,$K=q$$$F$"$j$^$9!%$3$N>r7o$r<i$k8B$jL5=~$GMxMQ$7!$$^$?<+M3$K:FG[IU(B $B$G$-$^$9!%(B $B"#2~DjMzNr(B 2006/10/21 * $B99$K%G%U%)%k%H$N%9%1!<%j%s%0%U%!%/%?$r(Bbranches$B$+$i<h$C$F$3$J(B $B$$%P%0$r=$@5!%(B 2006/09/13 * $BJQ?t(Btps$B$OJ6$i$o$7$$$N$G(Bscale$B$KJQ99!%%G%U%)%k%H%7%J%j%*$N;~$K!$(B $B%G%U%)%k%H$N%9%1!<%j%s%0%U%!%/%?$r(Bbranches$B$+$i<h$C$F$3$J$$%P%0$r=$@5!%(B 2006/07/26 * $B:4F#$5$s$N%Q%C%A$rE,MQ!%0J2<$N5!G=DI2C!%(BPostgreSQL 8.2$B$K<h$j(B $B9~$^$l$^$9!%(B $BJQ?t(B tps -s $B%*%W%7%g%s$G;XDj$7$?%9%1!<%j%s%0%U%!%/%?!<$r%U%!%$%kFb$GJQ?t$H$7(B $B$F;2>H$9$k5!G=(B -D $B%*%W%7%g%s(B $B%3%^%s%I$N%*%W%7%g%s$H$7$FDj5A$7$?JQ?t$r%U%!%$%kFb$+$i;2>H$9$k5!G=(B \set $B%3%^%s%I(B $B%U%!%$%kFb$G;MB'1i;;$r9T$$!"$=$N7k2L$rJQ?t$KBeF~$9$k5!G=(B 2005/09/29 * $B:4F#$5$s$N%Q%C%A$rE,MQ!%(B-f $B%*%W%7%g%s$NDI2C!%(B [$B$3$N4V$$$m$$$mJQ99$,$"$C$?$h$&$@$,(BREADME$B$O%a%$%s%F%J%s%9$5$l$F$$$J$$(B] 2003/11/26 * $BC+ED$5$s$N%Q%C%A$rE,MQ!%(Bpgbench -i$B$N:]$K!$8e$+$i<g%-!<$r:n@.(B $B$9$k$h$&$K$7$?!%$3$l$K$h$C$F=i4|2=$N<B9T;~4V$,BgI}$KC;=L$G$-(B $B$k(B($B$O$:(B)$B!%(B 2003/06/10 * $B%a%b%j$,=i4|2=$5$l$F$$$J$$%P%0$r=$@5(B * $B4D6-JQ?t(BPGHOST, PGPORT, PGUSER$B$rG'<1$9$k$h$&$K$7$?!%(B 2002/07/20 * Nei Conway$B$5$s$N%Q%C%A$rE,MQ!%(B * -l $B%*%W%7%g%s$NDI2C!%(B 2002/02/24 * $B$3$3$+$i$O(B7.3$BMQ$NJQ99$G$9!%(B * CHECKPOINT$B$NH/9T$r$d$a$^$7$?!%(B * -N $B%*%W%7%g%s$rDI2C$7$^$7$?!%(B 2001/10/24 * PostgreSQL 7.2$B$G!$(B"time"$B$,M=Ls8l$K$J$C$?$N$G!$(B"mtime"$B$KJQ99(B $B$7$?!%(B 2001/09/09 * PostgreSQL 7.2$BMQ$K!$(B-U, -P, -C $B%*%W%7%g%s$rDI2C$7$^$7$?!%(B 2000/1/15 pgbench-1.2 $B$O(B PostgreSQL $B$K(B contribute $B$5$l$^$7$?!%(B * -v $B%*%W%7%g%sDI2C(B 1999/09/29 pgbench-1.1 $B%j%j!<%9(B * $BC+ED$5$s$K$h$k(Bcygwin$BBP1~%Q%C%A<h$j9~$_(B * $B%P%C%/%(%s%I%/%i%C%7%e;~$NBP1~(B * -S $B%*%W%7%g%sDI2C(B 1999/09/04 pgbench-1.0 $B%j%j!<%9(B