Subject: Re: Pluggable toaster

From: Nikita Malakhov <[email-masked]>
Date: Thu, 20 Jan 2022 21:24:56 +0300

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 <[email-masked]> wrote:

> On Thu, Dec 30, 2021 at 11:40 AM Teodor Sigaev <[email-masked]> 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
https://postgrespro.ru/