I've written a small shell script to report how much disk space each table in a given MySQL database is using. For example, below is the output of the script when run against this site's database:

bmd /~: ./dbSize.sh coderholic root ******** wp_comments Data: 6.60MB Indexes: .15MB Total: 6.75MB wp_links Data: 0MB Indexes: 0MB Total: 0MB wp_options Data: 1.57MB Indexes: .01MB Total: 1.58MB wp_postmeta Data: .01MB Indexes: .01MB Total: .02MB wp_posts Data: .57MB Indexes: .02MB Total: .60MB wp_term_relationships Data: 0MB Indexes: .01MB Total: .02MB wp_term_taxonomy Data: 0MB Indexes: 0MB Total: 0MB wp_terms Data: 0MB Indexes: 0MB Total: 0MB wp_tla_data Data: 0MB Indexes: 0MB Total: 0MB wp_tla_rss_map Data: 0MB Indexes: 0MB Total: 0MB wp_usermeta Data: 0MB Indexes: 0MB Total: 0MB wp_users Data: 0MB Indexes: 0MB Total: 0MB *** 12 Tables | Data: 8.78MB Indexes: .25MB Total: 9.03MB ***

With a few small modifications I'm sure it'd be possible to get the script working PostgreSQL or other RDBMSes. The full code is below: