Determinare le dimensioni di tabella e relazione in Azure Cosmos DB per PostgreSQL
SI APPLICA A: Azure Cosmos DB for PostgreSQL (con tecnologia basata sull'estensione di database Citus per PostgreSQL)
Il modo consueto per trovare le dimensioni delle tabelle in PostgreSQL, pg_total_relation_size
, segnala drasticamente le dimensioni delle tabelle distribuite in Azure Cosmos DB per PostgreSQL.
Tutte queste operazioni vengono eseguite in un cluster per rivelare le dimensioni delle tabelle nel nodo coordinatore. In realtà, i dati nelle tabelle distribuite si trovano nei nodi di lavoro (nelle partizioni), non nel coordinatore. Una vera misura delle dimensioni della tabella distribuita viene ottenuta come somma delle dimensioni delle partizioni. Azure Cosmos DB per PostgreSQL fornisce funzioni helper per eseguire query su queste informazioni.
Funzione | Valori restituiti |
---|---|
citus_relation_size(relation_name) |
|
citus_table_size(relation_name) |
|
citus_total_relation_size(relation_name) |
|
Queste funzioni sono analoghe a tre delle funzioni standard di dimensioni degli oggetti postgreSQL, ma se non riescono a connettersi a un nodo, danno un errore.
Esempio
Ecco come elencare le dimensioni di tutte le tabelle distribuite:
SELECT logicalrelid AS name,
pg_size_pretty(citus_table_size(logicalrelid)) AS size
FROM pg_dist_partition;
Output:
┌───────────────┬───────┐
│ name │ size │
├───────────────┼───────┤
│ github_users │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘
Passaggi successivi
- Informazioni su come ridimensionare un cluster per contenere più dati.
- Distinguere i tipi di tabella in un cluster.
- Vedere altre query di diagnostica utili.