Déterminer la taille des tables et des relations dans Azure Cosmos DB for PostgreSQL
S’APPLIQUE À : Azure Cosmos DB for PostgreSQL (avec l’extension de base de données Citus pour PostgreSQL)
La méthode habituellement utilisée pour déterminer la taille de tables dans PostgreSQL, pg_total_relation_size
, sous-estime la taille des tables distribuées sur Azure Cosmos DB for PostgreSQL.
Sur un cluster, cette fonction affiche la taille des tables du nœud coordinateur. En réalité, les données des tables distribuées résident sur les nœuds Worker (dans des partitions), et non sur le coordinateur. Une mesure réelle de la taille d’une table distribuée est obtenue sous la forme d’une somme des tailles de partitions. Azure Cosmos DB pour PostgreSQL fournit des fonctions d’assistance pour interroger ces informations.
Fonction | Retours |
---|---|
citus_relation_size(nom_relation) |
|
citus_table_size(nom_relation) |
|
citus_total_relation_size(nom_relation) |
|
Ces fonctions sont analogues à trois des fonctions de taille d’objet PostgreSQL standard, sauf si elles ne peuvent pas se connecter à un nœud, auquel cas elles génèrent une erreur.
Exemple
Voici comment répertorier les tailles de toutes les tables distribuées :
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Sortie :
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Étapes suivantes
- Apprenez à mettre un cluster à l’échelle pour stocker plus de données.
- Faites la distinction entre les types de tables d’un cluster.
- Consultez les autres requêtes de diagnostic utiles.