Share via


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)
  • citus_table_size 더하기:

    • 인덱스의 크기

이러한 함수는 노드에 연결할 수 없는 경우 오류가 발생한다는 점을 제외하고 세 가지의 표준 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 │
└───────────────┴───────┘

다음 단계