On Wed, 5 Jul 2023 at 19:55, Thom Brown <t...@linux.com> wrote: > > On Wed, 5 Jul 2023 at 18:05, Matthias van de Meent > <boekewurm+postg...@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/)
v1-0001-Implement-a-reloption-that-forces-updated-tuples-.patch
Description: Binary data