Benchmark 10-30 concurrent transactions with 3 nested savepoints on PostgreSQL 12.7/12.8

Description

We want understand better what happens when we exceed 64 active subtransactions in a PostgreSQL cluster, but the active savepoints are being held by a relatively high number of long running transactions.

See postgres-ai/postgresql-consulting/tests-and-benchmarks#20 (comment 650373368) for more details.

Proposal

Run benchmarks similar to what @NikolayS did in postgres-ai/postgresql-consulting/tests-and-benchmarks#20 (closed) for 10-30 concurrent transactions holding 3 nested savepoints. This should start with 10 * 3 = 30 savepoints and end with 30 * 3 = 90 savepoints and generate a timeseries related to the number of savepoints with transactions-per-second the database is capable of processing.

@NikolayS will you be able to work on this soon?

/cc @sgoldstein @stanhu @cheryl.li

Edited by Grzegorz Bizon