Określanie rozmiaru tabeli i relacji w usłudze Azure Cosmos DB for PostgreSQL
DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)
Zwykle sposób znajdowania rozmiarów tabel w usłudze PostgreSQL, pg_total_relation_size
, drastycznie niedostatecznie raportuje rozmiar tabel rozproszonych w usłudze Azure Cosmos DB for PostgreSQL.
Ta funkcja działa w klastrze, polega na ujawnieniu rozmiaru tabel w węźle koordynatora. W rzeczywistości dane w tabelach rozproszonych są przechowywane w węzłach procesu roboczego (w fragmentach), a nie na koordynatorze. Prawdziwa miara rozmiaru tabeli rozproszonej jest uzyskiwana jako suma rozmiarów fragmentów. Usługa Azure Cosmos DB for PostgreSQL udostępnia funkcje pomocnicze do wykonywania zapytań dotyczących tych informacji.
Function | Zwraca |
---|---|
citus_relation_size(relation_name) | |
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Te funkcje są analogiczne do trzech standardowych funkcji rozmiaru obiektu PostgreSQL, z wyjątkiem sytuacji, gdy nie mogą nawiązać połączenia z węzłem, wymykają się.
Przykład
Oto jak wyświetlić listę rozmiarów wszystkich tabel rozproszonych:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Wyjście:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Następne kroki
- Dowiedz się, jak skalować klaster w celu przechowywania większej ilości danych.
- Rozróżnianie typów tabel w klastrze.
- Zobacz inne przydatne zapytania diagnostyczne.