You can use [`pg_column_size()`][1] to get the size of a complete row, not only for a single column. So to find the size of all rows for a specific customer, you can use something like this: select sum(pg_column_size(t)) from the_table t where customer_id = 42; You would need to do that for all tables you are interested in. This does however not include the size of those rows in the indexes. [1]: https://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE