현재 V8.3을 사용중입니다.
dbsize.sql 을 생성하려고 소스를 봤는데, 포함이 안되어 있습니다.
기능을 사용하려면 어떻게 해야되나요?
기본 포함이 되었나봅니다. ^^; http://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE 그렇다면, OS 명령어를 이용한 방법 이외에 토탈 사용량은 어떻게 구하나요? 생성한 DB 사이즈, postgres 사이즈, 생성한 index 사이즈 이외에 무엇을 더 구해야할까요?
user 별로도 가능하죠..
pg_database_size 가 해당 디비의 전체 사이즈겠죠
SELECT *, tablesize + indexsize + toastsize + toastindexsize AS totalsize
FROM (
SELECT cl.relname, pg_relation_size(cl.oid) AS tablesize,
COALESCE((SELECT sum(pg_relation_size(pg_index.indexrelid))::bigint AS sum
FROM pg_index
WHERE cl.oid = pg_index.indrelid), 0::bigint) AS indexsize,
CASE WHEN cl.reltoastrelid = 0::oid THEN 0::bigint
ELSE pg_relation_size(cl.reltoastrelid)
END AS toastsize,
ELSE pg_relation_size((SELECT ct.reltoastidxid
FROM pg_class ct
WHERE ct.oid = cl.reltoastrelid))
END AS toastindexsize
FROM pg_class cl
WHERE cl.relowner = ((SELECT pg_user.usesysid
FROM pg_user
WHERE pg_user.usename = current_user))
AND cl.relkind = 'r'::"char"
) t;
뭐.... 이런 쿼리도 있습니다.
view 로 쓰시면 조겠죠?
답변감사드립니다.