Re: Disabling Heap-Only Tuples
Matthias van de Meent <boekewurm+postgres@gmail.com>
From: Matthias van de Meent <boekewurm+postgres@gmail.com>
To: Thom Brown <thom@linux.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-07-06T20:18:07Z
Lists: pgsql-hackers
Attachments
- v1-0001-Implement-a-reloption-that-forces-updated-tuples-.patch (application/octet-stream) patch v1-0001
On Wed, 5 Jul 2023 at 19:55, Thom Brown <thom@linux.com> wrote: > > On Wed, 5 Jul 2023 at 18:05, Matthias van de Meent > <boekewurm+postgres@gmail.com> wrote: > > So what were you thinking of? A session GUC? A table option? > > Both. Here's a small patch implementing a new table option max_local_update (name very much bikesheddable). Value is -1 (default, disabled) or the size of the table in MiB that you still want to allow to update on the same page. I didn't yet go for a GUC as I think that has too little control on the impact on the system. I decided that max_local_update would be in MB because there is no reloption value that can contain MaxBlockNumber and -1/disabled; and 1 MiB seems like enough granularity for essentially all use cases. The added regression tests show how this feature works, that the new feature works, and validate that lock levels are acceptable (ShareUpdateExclusiveLock, same as for updating fillfactor). Kind regards, Matthias van de Meent Neon (https://neon.tech/)