Fastställa tabell- och relationsstorlek i Azure Cosmos DB för PostgreSQL
GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)
Det vanliga sättet att hitta tabellstorlekar i PostgreSQL, pg_total_relation_size
, underrapporterar drastiskt storleken på distribuerade tabeller i Azure Cosmos DB för PostgreSQL.
Allt den här funktionen gör i ett kluster är att visa storleken på tabellerna på koordinatornoden. I verkligheten finns data i distribuerade tabeller på arbetsnoderna (i shards), inte på koordinatorn. Ett sant mått på distribuerad tabellstorlek erhålls som en summa av shardstorlekar. Azure Cosmos DB for PostgreSQL tillhandahåller hjälpfunktioner för att fråga efter den här informationen.
Funktion | Returer |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Dessa funktioner motsvarar tre av postgreSQL-standardobjektstorleksfunktionerna, förutom om de inte kan ansluta till en nod.
Exempel
Så här listar du storlekarna för alla distribuerade tabeller:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Utdata:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Nästa steg
- Lär dig att skala ett kluster för att lagra mer data.
- Särskilja tabelltyper i ett kluster.
- Se andra användbara diagnostikfrågor.