Gregory Stark <stark@enterprisedb.com> writes:
> Whereas if you set toast_tuples_per_page to 8k then the only option for
> Postgres will be to put each datum in its own page and waste 1-3k on every
> page.
No, because actually the code is designed to make the toast chunk size
just enough less than 8K that the tuples fit.
The shorter-than-normal tuples carrying the last chunk of any particular
datum are going to result in wasted space to the extent that we can't
pack them together on a page, but that's true now. Right now, if you
have a large toasted datum, it mostly will consist of just-under-2K
tuples that are sized so that there's no noticeable wasted space on a
page with 4 of them. There isn't any advantage to that compared to one
just-under-8K tuple AFAICS, and it takes 4 times as much work to insert
or retrieve 'em.
regards, tom lane