Určení velikosti tabulky a relací ve službě Azure Cosmos DB for PostgreSQL
PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívá rozšíření databáze Citus pro PostgreSQL)
Obvyklý způsob, jak najít velikosti tabulek v PostgreSQL, pg_total_relation_size
je výrazně podvyšovat velikost distribuovaných tabulek ve službě Azure Cosmos DB for PostgreSQL.
Jediné, co tato funkce dělá v clusteru, je odhalit velikost tabulek na koordinačním uzlu. Ve skutečnosti se data v distribuovaných tabulkách nacházejí na pracovních uzlech (v horizontálních oddílech), ne v koordinátoru. Skutečná míra velikosti distribuované tabulky se získá jako součet velikostí horizontálních oddílů. Azure Cosmos DB for PostgreSQL poskytuje pomocné funkce pro dotazování těchto informací.
Funkce | Návraty |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Tyto funkce jsou podobné třem standardním funkcím velikosti objektů PostgreSQL, ale pokud se nemůžou připojit k uzlu, dojde k chybě.
Příklad
Tady je postup, jak zobrazit seznam velikostí všech distribuovaných tabulek:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Výstup:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Další kroky
- Zjistěte, jak škálovat cluster tak , aby se vydržo více dat.
- Rozlišovat typy tabulek v clusteru.
- Podívejte se na další užitečné diagnostické dotazy.