Re: Disabling Heap-Only Tuples
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Dilip Kumar <dilipbalaut@gmail.com>, Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: Matthias van de Meent <boekewurm+postgres@gmail.com>, Thom Brown <thom@linux.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-07-07T11:10:48Z
Lists: pgsql-hackers
On Fri, 2023-07-07 at 16:27 +0530, Dilip Kumar wrote: > On Fri, Jul 7, 2023 at 3:48 PM Tomas Vondra <tomas.vondra@enterprisedb.com> wrote: > > I'm imagining either a table option with a couple possible values > > (default, non-hot, first-page, ...) or maybe something even more > > elaborate (perhaps even a callback?). > > > > Now, it's not my intention to hijack this thread, but this discussion > > reminds me one of the ideas from my "BRIN improvements" talk, about > > maybe using BRIN indexes for routing. UPDATEs may be a major issue for > > BRIN, making them gradually worse over time. If we could "tell" > > RelationGetBufferForTuple() which buffers are more suitable (by looking > > at an index, histogram or some approximate mapping), that might help. > > IMHO that seems like the right direction for this feature to be > useful. Right, I agree. A GUC/storage parameter like "update_strategy" that is an enum (try-hot | first-page | ...). To preserve BRIN indexes or CLUSTERed tables, there could be an additional "insert_strategy", but that would somehow have to be tied to a certain index. I think that is out of scope for this effort. Yours, Laurenz Albe