Určení velikosti tabulky a relačního vztahu ve službě Azure Cosmos DB for PostgreSQL
PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívající rozšíření databáze Citus do PostgreSQL)
Obvyklý způsob, jak najít velikosti tabulek v PostgreSQL, pg_total_relation_size
výrazně nedostatečně hlásí velikost distribuovaných tabulek ve službě Azure Cosmos DB for PostgreSQL.
Všechny tyto funkce v clusteru odhalí velikost tabulek na koordinačním uzlu. Ve skutečnosti se data v distribuovaných tabulkách nacházejí v pracovních uzlech (v horizontálních oddílech), nikoli 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í.
Function | 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, s výjimkou případů, kdy 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
- Naučte se škálovat cluster tak, aby držel více dat.
- Rozlišovat typy tabulek v clusteru
- Podívejte se na další užitečné diagnostické dotazy.