| 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/
| 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? |