pg_size_pretty(pg_total_relation_size(c.oid)) AS total_size,
pg_size_pretty(pg_table_size(c.oid)) AS table_size,
pg_size_pretty(pg_indexes_size(c.oid)) AS indexes_size,
ROUND(COALESCE(pg_total_relation_size(c.reltoastrelid), 0)::numeric / pg_table_size(c.oid) * 100, 2) AS toast_pct
LEFT JOIN pg_namespace n ON (n.oid = c.relnamespace)
n.nspname NOT IN ('pg_catalog', 'information_schema')
AND n.nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(c.oid) DESC;
name | total_size | table_size | indexes_size | toast_pct
----------------+------------+------------+--------------+-----------
boarding_pass | 3359 MB | 2433 MB | 926 MB | 0.00
passenger | 2421 MB | 1757 MB | 664 MB | 0.00
booking_leg | 1533 MB | 1061 MB | 472 MB | 0.00
booking | 1032 MB | 718 MB | 314 MB | 0.00
account | 121 MB | 84 MB | 36 MB | 0.01
flight | 87 MB | 67 MB | 19 MB | 0.01
phone | 61 MB | 43 MB | 19 MB | 0.02
frequent_flyer | 19 MB | 14 MB | 4624 kB | 0.06
airport | 152 kB | 112 kB | 40 kB | 7.14
aircraft | 32 kB | 16 kB | 16 kB | 50.00
(10 rows)