Re: tableam vs. TOAST - Mailing list pgsql-hackers

From Tom Lane
Subject Re: tableam vs. TOAST
Date
Msg-id 28627.1567712182@sss.pgh.pa.us
Whole thread Raw
In response to Re: tableam vs. TOAST  (Andres Freund <andres@anarazel.de>)
Responses Re: tableam vs. TOAST
List pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> Well, I still dislike making the toast chunk size configurable in a
> halfhearted manner.

It's hard to make it fully configurable without breaking our on-disk
storage, because of the lack of any explicit representation of the chunk
size in TOAST data.  You have to "just know" how big the chunks are
supposed to be.

However, it's reasonable to ask why we should treat it as an AM property,
especially a fixed AM property as this has it.  If somebody does
reimplement toast logic in some other AM, they might well decide it's
worth the storage cost to be more flexible about the chunk size ... but
too bad, this design won't let them do it.

I don't entirely understand why relation_toast_am is a callback
while toast_max_chunk_size isn't, either.  Why would they not both
be callbacks?  That would at least let an AM set a per-relation
max chunk size, if it wanted.

It seems like this design throws away most of the benefit of a fixed
chunk size (mostly, being able to do relevant modulo arithmetic with
shifts and masks rather than full-fledged integer division) without
getting much of anything in return.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Yuli Khodorkovskiy
Date:
Subject: Re: add a MAC check for TRUNCATE
Next
From: Alvaro Herrera from 2ndQuadrant
Date:
Subject: Re: Index Skip Scan