database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9908 게시물 읽기
No. 9908
테이블 용량 확인 쿼리
작성자
postgres
작성일
2017-11-10 16:58
조회수
7,711

한 스키마 내에 있는 모든 테이블에 대한 용량확인 쿼리가 있나요?

 

제가 알고있는  쿼리는 '특정 테이블'에 대한 용량확인 함수로

select pg_relation_size('특정 테이블 명');
-> Index 미포함
 
select pg_total_relation_size('특정 테이블 명');
-> Index 포함
 
이 것만 알고있는데 제가 원하는건 한 스키마 내에 있는 모든 테이블에 대한 용량이거든요..
이 글에 대한 댓글이 총 3건 있습니다.

SELECT n.nspname as "Schema",

c.relname as "Name",

CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' END as "Type",

pg_catalog.pg_get_userbyid(c.relowner) as "Owner",

pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size",

pg_catalog.obj_description(c.oid, 'pg_class') as "Description"

FROM pg_catalog.pg_class c

LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace

WHERE c.relkind IN ('r','')

AND n.nspname <> 'pg_catalog'

AND n.nspname <> 'information_schema'

AND n.nspname !~ '^pg_toast'

AND pg_catalog.pg_table_is_visible(c.oid)

ORDER BY 1,2;

이 쿼리 응용하시면 될듯합니다.

김주왕(kimjuking)님이 2017-11-13 09:39에 작성한 댓글입니다.

 답변 감사합니다. 올려주신 쿼리에서 

pg_catalog.pg_size_pretty(pg_catalog.pg_table_size(c.oid)) as "Size",

이 부분의 Size가 Index 미포함 Size인가요? 아니면 포함 Size인가요?

 

제가 구한 쿼리가 있는데

SELECT n.nspname AS Schema_name
           ,c.relname AS Table_name
          ,pg_size_pretty(pg_relation_size(c.oid)) AS Table_size
          ,pg_size_pretty(pg_total_relation_size(c.oid)) AS Table_total_size
          , n.oid AS pg_namespace_oid
          ,c.oid AS pg_class_oid
FROM pg_class AS c
LEFT JOIN pg_namespace AS n
         ON c.relnamespace=n.oid
WHERE c.relkind='r'
           AND n.nspname NOT IN ('pg_catalog','information_schema','sys');

여기서 Index 미포함 Size를 pg_relation_size(c.oid) 이 함수로 구하고,

Index 포함 Size를 pg_total_relation_size(c.oid) 이 함수로 구하거든요,,

 

올려주신 쿼리의 Size 구하는 부분이 Index 미포함 인지 포함인지 궁금합니다.

postgres님이 2017-11-13 11:23에 작성한 댓글입니다. Edit

인덱스 미포함입니다.

김주왕(kimjuking)님이 2017-11-13 13:34에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9912postgresql 에는 statistics 을 확인할수없나요? [1]
궁금
2017-11-20
6744
9911postgres초보 테이블 조회 관련 [6]
postgres
2017-11-15
7089
9910PostgreSQL 버전 관련 질문드립니다. [2]
이창기
2017-11-13
7021
9908테이블 용량 확인 쿼리 [3]
postgres
2017-11-10
7711
9907윈도우 postgre 설치시 오류 질문드립니다 ㅠ [4]
디비
2017-11-09
8811
9906같은 쿼리가 특정 시점에 갑자기 느려지는 현상에 대한 도움이 필요합니다. [10]
배우미
2017-11-01
8517
9905함수 여러개를 하나의 트랜잭션에서 실행 안되나요? [2]
지현명
2017-10-31
6333
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다