"David G. Johnston" <david.g.johns...@gmail.com> writes: > Is there also an issue with whether the type has implemented compression or > not - i.e., should the x->e and m->e paths be forbidden too? Or is it > always the case a non-plain type is compressible and the other non-plain > options just switch between preferences (so External just says "while I can > be compressed, please don't")?
Yeah, the only relevant issue here is "can it be toasted, or not?". A data type doesn't have direct control of which toasting options can be applied, nor does it need to, as long as the C functions apply the correct detoast macros. > Can you please include an edit to [1] indicating that "e" is the > abbreviation for External and "x" is Extended (spelling out the other two > as well). Might be worth a comment at [2] as well. > [1] https://www.postgresql.org/docs/12/catalog-pg-type.html > [2] https://www.postgresql.org/docs/12/storage-toast.html Done in [1]; I didn't see much point in changing [2]. regards, tom lane