3 ms·
> Well, but on-disk varlena data is included. pg_column_size() averages 144 bytes for pg_attribute on my system. Sure, but I thought we're talking about in-mem
by pgaddict 8y ago
> Well, but on-disk varlena data is included. pg_column_size() averages 144 bytes for pg_attribute on my system.
Sure, but I thought we're talking about in-memory stuff as you've been talking about tuple descriptors. I don't think the on-disk size matters all that much, TBH, it's likely just a tiny fraction of data stored in the cluster.
> I'm not sure that actually matters that much. Most attributes are allocated as part of TupleDescData, but that allocates all attributes together.
Ah. Good point.
- anarazel 8y ago> I don't think the on-disk size matters all that much, TBH, it's likely just a tiny fraction of data stored in the cluster. I've seen pg_attribute take up very significant fractions of the database numerous times, so I do think the on-disk size can matter. And there's plenty places, e.g. catcache, where we store the full on-disk tuple (rather than just the fixed-length prefix); so the on-disk size is actually quite relevant for the in-memory bit too.