テーブルのレコード数ではなくデータサイズを知りたいなと思う時があるかと思います。
PostgreSQLには pg_relation_size や pg_total_relation_size といったテーブルのデータサイズを返す関数があります。
前者(pg_relation_size)はテーブルのデータサイズを返し、後者(pg_total_relation_size)はデータに加えインデックスも含めたサイズを返します。
テーブルのデータサイズを求める
データサイズを求めるにはpg_relation_size関数を使います。
テーブル users のデータサイズを求めるには以下のSQLを実行します
select pg_total_size ('users')) AS "data_size";
実行結果

サイズの単位はbyteです。
サイズ表記をわかりやすくするには pg_size_pretty 関数を使います
select pg_size_pretty(pg_total_size ('users'))) AS "data_size";
実行結果

インデックスを含めたテーブルのデータサイズを求める
インデックスを含めたテーブルのデータサイズを求めるにはpg_total_relation_size関数を使います。
テーブル users のデータサイズを求めるには以下のSQLを実行します
select pg_size_pretty(pg_total_relation_size ('m_banks')) AS "total_size";
実行結果

データベース上のすべてのテーブルのデータサイズを求める
参考: How to Get Sizes of Database Objects in PostgreSQL
データベース上の全テーブルのデータサイズを求めるには以下のSQLを実行します
※サイズの大きい順に表示します
select
N.nspname as "schema",
C.relname AS "table",
pg_size_pretty(pg_relation_size (C.oid)) AS "data_size",
pg_size_pretty(pg_total_relation_size (C.oid)) AS "total_size"
FROM
pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE
nspname NOT IN (
'pg_catalog',
'information_schema'
)
AND C .relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY
pg_total_relation_size (C.oid) DESC;
実行結果