Bestimmen der Tabellen- und Relationsgröße in Azure Cosmos DB for PostgreSQL
GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)
Beim üblichen Verfahren zum Ermitteln von Tabellengrößen in PostgreSQL mit pg_total_relation_size
wird die Größe von verteilten Tabellen in Azure Cosmos DB for PostgreSQL viel zu gering angegeben.
Diese Funktion gibt in einem Cluster nur Aufschluss über die Größe der Tabellen auf dem Koordinatorknoten. Tatsächlich befinden sich die Daten in verteilten Tabellen aber auf den Workerknoten (in Shards), nicht auf dem Koordinatorknoten. Ein richtiges Maß für die Größe einer verteilten Tabelle ist die Summe der Shardgrößen. Azure Cosmos DB for PostgreSQL stellt Hilfsfunktionen bereit, um diese Informationen abzufragen.
Funktion | Gibt zurück |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Diese Funktionen sind analog zu drei der standardmäßigen Objektgrößefunktionen von PostgreSQL, mit einer Ausnahme: Wenn keine Verbindung mit einem Knoten hergestellt werden kann, tritt ein Fehler auf.
Beispiel
So listen Sie die Größen aller verteilten Tabellen auf:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Ausgabe:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Nächste Schritte
- Hier erfahren Sie, wie Sie einen Cluster skalieren, damit mehr Daten gespeichert werden können.
- Unterscheiden Sie Tabellentypen in einem Cluster.
- Weitere Informationen finden Sie unter den anderen hilfreichen Diagnoseabfragen.