Share via


判斷 Azure Cosmos DB for PostgreSQL 裡的資料表與關聯大小

適用於: Azure Cosmos DB for PostgreSQL (由 Citus 資料庫延伸模組支援 PostgreSQL)

一般在 PostgreSQL 中尋找資料表大小的方式 (pg_total_relation_size) 會大幅低報 Azure Cosmos DB for PostgreSQL 上的分散式資料表大小。 此函式在叢集上執行的所有動作,都是為了顯示協調器節點上的資料表大小。 實際上分散式資料表中的資料會位於 (分區) 的背景工作節點上,而不是在協調器上。 分散式資料表大小的真實量值是以分區大小加總來取得。 Azure Cosmos DB for PostgreSQL 提供 Helper 函式來查詢這項資訊。

函式 傳回
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 │
└───────────────┴───────┘

下一步