Re: Compress prune/freeze records with Delta Frame of Reference algorithm

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Evgeny Voropaev <evgeny(dot)voropaev(at)tantorlabs(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Subject: Re: Compress prune/freeze records with Delta Frame of Reference algorithm
Date: 2026-04-14 09:02:28
Message-ID: 9d79f4b9-1a1c-4177-bdfa-3df9a5171db9@iki.fi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 24/03/2026 16:28, Evgeny Voropaev wrote:
> Also I hope, independently of its usage in prune/freeze records, the
> DFoR itself might be used for compression sequences in other places of PG.

Yeah, that would make this huge amount of new code much more palatable.

I had a similar thought when I added src/backend/lib/integerset.c, I
planned to also use it for holding the dead TID list in vacuum for
starters, and possibly for more things in the future. That plan was
foiled because we got parallel VACUUM instead, which moved the TID list
to shared memory, and I didn't account for that in integerset.c. So now
integerset.c is only used for GiST vacuum, which is a pretty narrow use
case.

Can this DFoR code replace integerset.c easily? Can we use it for the
vacuum dead TID list? For GIN posting lists? Where else?

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitry Koval 2026-04-14 09:05:04 Re: MERGE PARTITIONS and DEPENDS ON EXTENSION.
Previous Message Amit Kapila 2026-04-14 08:51:08 Re: Parallel Apply