Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wa3Mz-001UtZ-2B for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 03:24:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wa3My-0098Dl-1k for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jun 2026 03:24:44 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wa3My-0098Dd-0q for pgsql-hackers@lists.postgresql.org; Thu, 18 Jun 2026 03:24:44 +0000 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wa3Mw-00000000uFt-0WBm for pgsql-hackers@postgresql.org; Thu, 18 Jun 2026 03:24:43 +0000 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-842307472d4so159767b3a.0 for ; Wed, 17 Jun 2026 20:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781753081; x=1782357881; darn=postgresql.org; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=HvWKBE7iTQCwP2Wp5vR8BNWNnCISo5LQQTevC6BGGbY=; b=n8NIQS147I2dEch6ku0Z/D4JmoBmHBUu3XbO7jTYC08BCmHCUA4LOsdfNjy4+pMeCT YHp2gRk647DEQhzq8koGBcDY9NLXlDB0Yg0cXScEnaHkRrXqrFm3mgrGZsqhzDU6QIjD 9xwbDmq+8r1NdNVSLO9TjCmjSIVCr4ft2rkPkvSoPgSe/u6t3DDudCM4uBiYIFhn/80s QOypJ7kEWW63h6ljDxu2e0sVPhMMhUCOIrO+ANDggCQFARwACCPfJIXP3yRM8e1/z024 y/M632pfWhygMOO7g8ddL4v15oSlZGuWU+IkwNpjzKmNcnoT5c/Gs4y4fB+uQWTR4efe q2TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781753081; x=1782357881; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=HvWKBE7iTQCwP2Wp5vR8BNWNnCISo5LQQTevC6BGGbY=; b=GBFyR915dsLy+OvaXqHl8Dtv4vCrnz9Ww8+79ue6pVl4Fq8AIwTsPf3g7BzKSEdAgP 17EalmOFlBFCwlBBYaIhEtRaO3h4pEsTnWr+PlJ804Ds9I6+47hiEZkfD3HGYk/CbG7a +n//a2FO9vPvZozyVubGzbnLJ3x7WWlWCG4eZvdR1XefxNBoFBOqL7hb6wXk04BDSlAT Ce8iVo342hITRDgpztuTvbMh+stGmB7VLHG8JoJPIqQEGYdLXI3NNz9IwJnKpdAE+r2B 4dxPnYmUvEs82nd16MkZqyE2LOmw2/y60MEzZwyOqR+gGKjGkubrZT5k8EobVt7Sx6Ic D2/w== X-Gm-Message-State: AOJu0YwBaxx3cLar8fKEL0uT3hyiUFjqHwLTx1dumeBEHcNx7LcSxRp0 VMvBpvNkGidFnggyCaGGQVve0/3yScuu3DDExqKEnAtaYYu/9k6GnvlZzFQ7VjgWPwk= X-Gm-Gg: Acq92OFs3AjBHAStmuZBeoJOBoQeWooMd1PCNRqk72cnQk9JsgQewJ9cE6wNfdBgm5c 0M8mP/6TpMBehXRwyujKJGiZ7maSIPM0j5xSy0sxcfXDImG8gPdHcSgmzE3ys31tXQuQKjE0mj7 pLwZWOGxTZ2VhludJLodwS/PenUrda6QKN9z/gTfntOUDqmDUsQdrqaQd+8DxjKEZZlzSwVhrMP ciH5GozBg6qUOLRi/eWXyJqcvN9hKZfDmGeFFfv1P8hDmwer/pyE+sflItQlAV13jN9sGsbJ4hv fARDIQfQfjXu7MWdSZBuRCK/Gi6Yte6Lhl7kZo/FRbyH4qNOnK9iHKL7Lsll94WvMKY7rARGCRy wLOSBHMmqXN4mFz2WAgMP/gJMcvI9QHqcq/MplTUNlOy2mtkn95udxS7ZITzyvu9rFAqEneb9E9 sAoam1Ofzd/iwoT98fr2m01A== X-Received: by 2002:a05:6a00:2e26:b0:845:3b98:5fd6 with SMTP id d2e1a72fcca58-84541991054mr645815b3a.1.1781753080691; Wed, 17 Jun 2026 20:24:40 -0700 (PDT) Received: from smtpclient.apple ([185.135.79.161]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8453b708378sm808726b3a.61.2026.06.17.20.24.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jun 2026 20:24:40 -0700 (PDT) From: Chao Li Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.600.51.1.1\)) Subject: pgbench --continue-on-error: clarify TPS and failure reporting Message-Id: <597C9755-4386-488D-A289-16D50AD81FBF@gmail.com> Date: Thu, 18 Jun 2026 11:24:04 +0800 Cc: Fujii Masao , Rintaro Ikeda , Yugo Nagata To: PostgreSQL-development X-Mailer: Apple Mail (2.3864.600.51.1.1) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi While testing =E2=80=9C[0ab208fa5] pgbench: Add --continue-on-error = option=E2=80=9D, I got a question about the doc: ``` 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. ``` The phrase =E2=80=9Cmeasure performance including those failures=E2=80=9D = 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 =3D 0.389 ms (including failures) initial connection time =3D 4.172 ms tps =3D 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: ``` 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. ``` Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/