PostgreSQL 테이블 및 해당 인덱스의 디스크 크기 찾기
Shihab Sikder
2023년1월30일
이 기사에서는 PostgreSQL 테이블과 해당 인덱스의 디스크 크기를 찾는 방법에 대해 설명합니다.
PSQL을 사용하여 PostgreSQL 테이블 및 데이터베이스의 디스크 크기 찾기
\l+
를 사용하여 데이터베이스 크기를 표시하고 \d+
를 사용하여 테이블 크기를 표시할 수 있습니다. 그러나 그 전에 쿼리를 수행하려면 데이터베이스에 로그인해야 합니다.
다음은 Postgres에서 테이블 및 데이터베이스 크기를 표시하기 위한 다음 명령 및 출력입니다.
postgres=# \l+
출력:
postgres-# \d+
List of relations
Schema | Name | Type | Owner | Persistence | Access method | Size | Description
--------+------------------+----------+----------+-------------+---------------+------------+-------------
public | book_lends | table | postgres | permanent | heap | 16 kB |
public | books | table | postgres | permanent | heap | 16 kB |
public | employee | table | postgres | permanent | heap | 16 kB |
public | employee_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | events | table | postgres | permanent | heap | 16 kB |
public | mock_data | table | postgres | permanent | heap | 48 kB |
public | product | table | postgres | permanent | heap | 16 kB |
public | product_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | products | table | postgres | permanent | heap | 16 kB |
public | products_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | prroducts | table | postgres | permanent | heap | 8192 bytes |
public | prroducts_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | stores | table | postgres | permanent | heap | 16 kB |
public | stores_id_seq | sequence | postgres | permanent | | 8192 bytes |
public | users | table | postgres | permanent | heap | 16 kB |
(15 rows)
여기에는 Postgres 데이터베이스에 있는 이름, 유형, 소유자, 크기, 액세스 방법 등이 포함된 모든 테이블이 표시됩니다.
데이터베이스에서 가장 큰 테이블의 크기 찾기
다음은 Postgres 공식이 테이블 크기를 내림차순으로 표시하기 위해 작성한 코드 스니펫입니다.
SELECT nspname || '.' || relname AS "relation",
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
LIMIT 10;
출력:
relation | total_size
-------------------+------------
public.mock_data | 48 kB
public.product | 32 kB
public.products | 32 kB
public.books | 32 kB
public.book_lends | 32 kB
public.employee | 32 kB
public.stores | 32 kB
public.users | 32 kB
public.events | 16 kB
public.prroducts | 16 kB
(10 rows)
데이터베이스의 postgres
아래에서 가장 큰 10개의 테이블을 검색했습니다.
다음 링크를 클릭하면 Postgres의 디스크 크기에 대한 추가 쿼리를 알 수 있습니다. 가장 큰 클러스터, 가장 큰 관계, 분할된 테이블 등을 찾기 위한 SQL 쿼리를 찾을 수 있습니다.
여기는 데이터베이스 크기와 관련된 기능에 대해 자세히 설명합니다.
작가: Shihab Sikder