Hello, everyone!

I’ve added several updates to the patch set:

* Automatic auxiliary index removal where applicable.
* Documentation updates to reflect recent changes.
* Optimization for STIR indexes: skipping datum setup, as they store only TIDs.
* Numerous assertions to ensure that MyProc->xmin is invalid where necessary.

I’d like to share some initial benchmark results (see attached graphs).
This involves building a B-tree index on (aid, abalance) in a pgbench setup with scale 2000 (with WAL), while running a concurrent pgbench workload.

The patched version built the index in 68 seconds, compared to 117 seconds with the master branch (mostly because of a single heap scan).
There appears to be no effect on the throughput of the concurrent pgbench. 
The maximum snapshot age remains near zero.

I am going to continue to benchmark with different options: different HOT setup, unique index, different index types and DB size (100+ GB).
If someone has some ideas about possible benchmark scenarios - please share.

Best regards,
Mikhail.

image.png
image.png