You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In pg_stats, toasted data is exactly 18 bytes when data is totally toasted. So the query computes that the bloat is higher than real.
Perhaps is it possible to exclude text columns with 18.0 bytes and an extended/external storage ? That would not solve the case for columns with very different sizes, where avg_width is a mix of 18 and real sizes.
The text was updated successfully, but these errors were encountered:
Perhaps is it possible to exclude text columns with 18.0 bytes and an extended/external storage ?
Any idea and PoC is appreciated. However, it is not possible to know exactly what field in what row has been toasted away...
Moreover, excluding a field from a table is not enough as we would not be able to compute the expected size of the table anyway. We would have to exclude the whole table using eg. is_na.
Lastly, what if 50% of a field has been toasted? or even 99% ? The average size will not be 18, but the computed expected size will still be far off...
As discussed today on daliconsultants:
In
pg_stats
, toasted data is exactly 18 bytes when data is totally toasted. So the query computes that the bloat is higher than real.Perhaps is it possible to exclude text columns with 18.0 bytes and an extended/external storage ? That would not solve the case for columns with very different sizes, where avg_width is a mix of 18 and real sizes.
The text was updated successfully, but these errors were encountered: