Re: Pluggable toaster - Mailing list pgsql-hackers

From Nikita Malakhov
Subject Re: Pluggable toaster
Date
Msg-id CAN-LCVO3z1mqbVTNDP2XXgGQu90ns-MJqqy6PtRQww2i9A=zzg@mail.gmail.com
Whole thread Raw
In response to Re: Pluggable toaster  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi,

The patch provides assigning toaster to a data column separately. Assigning to a data type is considered worthy
but is also a topic for further discussion and is not included in patch.
We've been thinking how to integrate AMs and custom toasters, so any thoughts are welcome.

Regards,

On Thu, Jan 20, 2022 at 7:00 PM Robert Haas <robertmhaas@gmail.com> wrote:
On Thu, Dec 30, 2021 at 11:40 AM Teodor Sigaev <teodor@sigaev.ru> wrote:
> We are working on custom toaster for JSONB [1], because current TOAST is
> universal for any data type and because of that it has some disadvantages:
>     - "one toast fits all"  may be not the best solution for particular
>       type or/and use cases
>     - it doesn't know the internal structure of data type, so it  cannot
>       choose an optimal toast strategy
>     - it can't  share common parts between different rows and even
>       versions of rows

I agree ... but I'm also worried about what happens when we have
multiple table AMs. One can imagine a new table AM that is
specifically optimized for TOAST which can be used with an existing
heap table. One can imagine a new table AM for the main table that
wants to use something different for TOAST. So, I don't think it's
right to imagine that the choice of TOASTer depends solely on the
column data type. I'm not really sure how this should work exactly ...
but it needs careful thought.

--
Robert Haas
EDB: http://www.enterprisedb.com




--
Regards,

--
Nikita Malakhov
Postgres Professional 

pgsql-hackers by date:

Previous
From: "Bossart, Nathan"
Date:
Subject: Re: Document atthasmissing default optimization avoids verification table scan
Next
From: "Bossart, Nathan"
Date:
Subject: Re: Avoid erroring out when unable to remove or parse logical rewrite files to save checkpoint work