Re: Deleting older versions in unique indexes to avoid page splits

Victor Yegorov <vyegorov@gmail.com>

From: Victor Yegorov <vyegorov@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-01-11T20:19:25Z
Lists: pgsql-hackers

Attachments

пн, 11 янв. 2021 г. в 01:07, Peter Geoghegan <pg@bowt.ie>:

>
> Attached is v13, which has this tweak, and other miscellaneous cleanup
> based on review from both Victor and Heikki. I consider this version
> of the patch to be committable. I intend to commit something close to
> it in the next week, probably no later than Thursday. I still haven't
> got to the bottom of the shellsort question raised by Heikki. I intend
> to do further performance validation before committing the patch. I
> will look into the shellsort thing again as part of this final
> performance validation work -- perhaps I can get rid of the
> specialized shellsort implementation entirely, simplifying the state
> structs added to tableam.h. (As I said before, it seems best to
> address this last of all to avoid making performance validation even
> more complicated.)
>

I've checked this version quickly. It applies and compiles without issues.
`make check` and `make check-world` reported no issue.

But `make installcheck-world` failed on:
…
test explain                      ... FAILED       22 ms
test event_trigger                ... ok          178 ms
test fast_default                 ... ok          262 ms
test stats                        ... ok          586 ms

========================
 1 of 202 tests failed.
========================

(see attached diff). It doesn't look like the fault of this patch, though.

I suppose you plan to send another revision before committing this.
Therefore I didn't perform any tests here, will wait for the next version.


-- 
Victor Yegorov

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Enhance nbtree index tuple deletion.

  2. Pass down "logically unchanged index" hint.

  3. Fix index deletion latestRemovedXid bug.

  4. Deprecate nbtree's BTP_HAS_GARBAGE flag.