On 2020-Aug-30, Tomas Vondra wrote: > On Sun, Aug 30, 2020 at 12:33:29PM -0400, Alvaro Herrera wrote:
> > I wonder how to report that. Knowing that psql \-commands are not meant > > for anything other than human consumption, maybe we can use a format() > > string that says "built: %d bytes" when \dX+ is used (for each stat type), > > and just "built" when \dX is used. What do people think about this? > > I'd use the same approach as \d+, i.e. a separate column with the size. > Maybe that'd mean too many columns, though. Are you thinking in one size for all stats, or a combined size? If the former, then yes it'd be too many columns. I'm trying to figure out what can the user *do* with that data. Can they make the sample size smaller/bigger if the stats data is too large? Can they do that for each individual stats type? If so, it'd make sense to list each type's size separately. If we do put each type in its own row -- at least "logical" row, say string_agg(unnest(array_of_types), '\n') -- then we can put the size of each type in a separate column with string_agg(unnest(array_of_sizes), '\n') statname | definition | type | size ----------+-----------------+--------------------------+----------- someobj | (a, b) FROM tab | n-distinct: built | 2000 bytes | func-dependencies: built | 4000 bytes another | (a, c) FROM tab | n-distint: enabled | <null> -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services