public inbox for [email protected]  
help / color / mirror / Atom feed
From: Chao Li <[email protected]>
To: PostgreSQL-development <[email protected]>
Cc: Fujii Masao <[email protected]>
Cc: Rintaro Ikeda <[email protected]>
Cc: Yugo Nagata <[email protected]>
Subject: pgbench --continue-on-error: clarify TPS and failure reporting
Date: Thu, 18 Jun 2026 11:24:04 +0800
Message-ID: <[email protected]> (raw)

Hi

While testing “[0ab208fa5] pgbench: Add --continue-on-error option”, I got a question about the doc:
```
       <para>
        This option is useful when your custom script may raise errors
        such as unique constraint violations, but you want the benchmark
        to continue and measure performance including those failures.
       </para>
```

The phrase “measure performance including those failures” gives the impression that failed transactions might be counted in TPS, but they are not.

In my test, all transactions failed, and TPS was reported as 0:
```
% pgbench  -d evantest -n -t 5 --continue-on-error --failures-detailed -f pgbench-coe.sql
pgbench (19beta1)
transaction type: pgbench-coe.sql
scaling factor: 1
query mode: simple
number of clients: 1
number of threads: 1
maximum number of tries: 1
number of transactions per client: 5
number of transactions actually processed: 0/5
number of failed transactions: 5 (100.000%)
number of serialization failures: 0 (0.000%)
number of deadlock failures: 0 (0.000%)
number of other failures: 5 (100.000%)
latency average = 0.389 ms (including failures)
initial connection time = 4.172 ms
tps = 0.000000 (without initial connection time)
```

If this behavior is intended, I wonder if we should clarify the TPS counting logic more explicitly. For example:
```
       <para>
        This option is useful when your custom script may raise errors
        such as unique constraint violations, but you want the benchmark
        to continue despite individual statement failures. Failed transactions
        are reported separately and included in latency statistics, but are not
        counted as transactions actually processed for TPS.
       </para>
```

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/










view thread (6+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: pgbench --continue-on-error: clarify TPS and failure reporting
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox