Re: Disabling Heap-Only Tuples

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: James Locke <james(dot)locke(dot)uk(at)gmail(dot)com>
Cc: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Andres Freund <andres(at)anarazel(dot)de>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Thom Brown <thom(at)linux(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Disabling Heap-Only Tuples
Date: 2026-05-08 13:00:06
Message-ID: af3dpKXw_-Fbetr6@alvherre.pgsql
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello James,

On 2026-May-08, James Locke wrote:

> Attached is a POC to enable userland table compaction: A top-level COMPACT
> command that performs the relocation directly in the server, with a
> stripped-down heap_relocate primitive instead of full UPDATE, and a
> built-in prune-and-truncate pass so it runs to a useful end state in one
> command.

How does this implementation handle the case of a seqscan in the middle
of scanning the table, which has already skipped the destination page
and not yet the page from where the table is to be removed? There needs
to be a way to distinguish which of these to show (it must be exactly
one), and you didn't mention this in your description.

Thanks

--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-05-08 13:54:55 Re: Broken build on macOS (Universal / Intel): cpuid instruction not available
Previous Message Ayush Tiwari 2026-05-08 12:41:08 Disallow whole-row index references with virtual generated columns?