判斷 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) |
|
這些函式類似於三個標準 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 │
└───────────────┴───────┘