How to find the [largest] tables in a PostgreSQL database

Ever wanted to see which tables are taking up the most space in your PostgreSQL database? It's not too difficult:

SELECT t.name, pg_relation_size(t.name) FROM (SELECT tablename as name FROM pg_tables WHERE tablename NOT LIKE 'pg_%' AND tablename NOT LIKE 'sql_%') t ORDER BY pg_relation_size(t.name) DESC;

or if you want it in human readable MB/kB:

SELECT t.name, pg_size_pretty(pg_relation_size(t.name)) FROM (SELECT tablename as name FROM pg_tables WHERE tablename NOT LIKE 'pg_%' AND tablename NOT LIKE 'sql_%') t ORDER BY pg_relation_size(t.name) DESC;