PostgreSQLでテーブルサイズを得る¶
自分用のコピペメモです。
PostgreSQLでテーブルのサイズを取得します。
うわ、私のSQL力低すぎ…
SELECT
relname
,CASE
WHEN relkind = 'r' THEN 'Tablee'
WHEN relkind = 'S' THEN 'Sequence'
WHEN relkind = 'i' THEN 'Index'
WHEN relkind = 'v' THEN 'View'
END
,to_char(reltuples, '999,999,999') AS rows
,pg_size_pretty(pg_relation_size(oid)) AS size
FROM
pg_class
WHERE
relnamespace = (SELECT oid FROM pg_namespace WHERE nspname='public')
UNION ALL
SELECT
'TOTAL'
,'Table'
,to_char(sum(reltuples), '999,999,999') AS rows
,pg_size_pretty(sum(pg_relation_size(oid))::bigint) AS size
FROM
pg_class
WHERE
relnamespace = (SELECT oid FROM pg_namespace WHERE nspname='public')
Comments
comments powered by Disqus