追記
すごい昔に書いて放置してた記事で今更ですが。。versionにもよるかもしれないけど、8.3で試したところlog_statementをfalseからtrueにしたところで、大してかわらなかった。恐らくそれ以外に致命的にpostgresql.confの設定が悪かっただけぽい。というわけで以下の内容は激しくうさんくさいですが。削除してしまうのもアレなので一応残しておきます。
postgresql.confの設定
log_statement = true
この状態で
[postgres@db1 NewDB]$ time pgbench -c 10 -t 10 hogehoge starting vacuum...end. transaction type: TPC-B (sort of) scaling factor: 1 number of clients: 10 number of transactions per client: 10 number of transactions actually processed: 100/100 tps = 1.931658 (including connections establishing) tps = 1.999940 (excluding connections establishing) real 0m52.059s user 0m0.012s sys 0m0.032s
おせえええええええええええええ。
なんじゃこりゃ。tps 1ってどないやねん。
これがlog_statementをfalseにしたら、
[postgres@db1 NewDB]$ time pgbench -c 10 -t 10 hogehoge starting vacuum...end. transaction type: TPC-B (sort of) scaling factor: 1 number of clients: 10 number of transactions per client: 10 number of transactions actually processed: 100/100 tps = 57.874423 (including connections establishing) tps = 111.933324 (excluding connections establishing) real 0m1.798s user 0m0.012s sys 0m0.024s
劇的に変わった。これ以外にもdebug_print_なんとかってのをfalseにしたら、あと数倍tpsが上がった。めでたしめでたし。