Azure Cosmos DB for PostgreSQL에서 테이블 및 관계 크기 결정
적용 대상: Azure Cosmos DB for PostgreSQL(PostgreSQL에 대한 Citus 데이터베이스 확장 기반)
PostgreSQL에서 테이블 크기를 찾는 일반적인 방법인 pg_total_relation_size
는 Azure Cosmos DB for PostgreSQL에서 분산 테이블의 크기를 매우 작게 보고합니다.
클러스터에서 이 기능의 역할은 코디네이터 노드의 테이블 크기를 표시하는 것이 전부입니다. 실제로 분산 테이블의 데이터는 코디네이터가 아닌 작업자 노드(분할된 상태로)에 있습니다. 분산 테이블 크기의 실제 측정값은 분할된 값의 합계로 얻을 수 있습니다. Azure Cosmos DB for PostgreSQL은 이 정보를 쿼리하는 도우미 함수를 제공합니다.
함수 | 반환 |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) | |
citus_total_relation_size(relation_name) |
|
이러한 함수는 노드에 연결할 수 없는 경우 오류가 발생한다는 점을 제외하고 세 가지의 표준 PostgreSQL 개체 크기 함수와 유사합니다.
예시
모든 분산 테이블의 크기를 나열하는 방법은 다음과 같습니다.
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
출력
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘