Andres Freund <and...@anarazel.de> writes: > WFM, just wanted to be sure we thought about the errors it could cause. I'm > not sure we've exercised cases of tuples being too wide due to variable-width > plain storage types exhaustively. There's only a small number of these types: > int2vector, oidvector, gtsvector, tsquery
> What's behind using plain for these types? Is it just because we want to use > it in tables that don't have a toast table (namely pg_index)? Obviously we > can't change the storage in existing releases... For int2vector and oidvector, I think it boils down to wanting to access columns like pg_proc.proargtypes without detoasting. We could fix that, but it'd likely be invasive and not a net positive. It seems a bit broken that tsquery is marked that way, though; I doubt we are getting any notational benefit from it. Dunno about gtsvector. regards, tom lane