"Heikki Linnakangas" <[EMAIL PROTECTED]> writes: > Francois Deliege wrote: >> Hi, >> >> I am trying to estimate the size of a table composed of 51754000 rows. >> Each row has 31 attributes: 16 x bit(24) and 15 x bit(8) >> >> So, the payload should be: >> 51754000 x ( 16 x 24 + 15 x 24 ) bits = 3115 MB > > What data types are those exactly? If those 24-bit fields are in fact text, > varchar, char(x) or other data types that are stored as variable length > fields,
And sadly that includes bit() if you're being literal. As of Postgres 8.1 you can see how much space a column is taking up using the pg_column_size() function. This won't include alignment padding but will include the length header for that column. You can see how much a given row is taking up by passing the entire row to og_column_size with something like pg_column_size(tab.*) -- Gregory Stark EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings