Delen via


Tabel- en relationele grootte bepalen in Azure Cosmos DB for PostgreSQL

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

De gebruikelijke manier om tabelgrootten te vinden in PostgreSQL, pg_total_relation_sizerapporteert drastisch de grootte van gedistribueerde tabellen in Azure Cosmos DB voor PostgreSQL. Deze functie doet alleen op een cluster om de grootte van tabellen op het coördinatorknooppunt weer te geven. In werkelijkheid bevinden de gegevens in gedistribueerde tabellen zich op de werkknooppunten (in shards), niet op de coördinator. Een werkelijke meting van de gedistribueerde tabelgrootte wordt verkregen als een som van shardgrootten. Azure Cosmos DB for PostgreSQL biedt helperfuncties voor het opvragen van deze informatie.

Functie Retouren
citus_relation_size(relation_name)
  • Grootte van werkelijke gegevens in tabel (de 'hoofdfork').
  • Een relatie kan de naam van een tabel of een index zijn.
citus_table_size(relation_name)
citus_total_relation_size(relation_name)
  • citus_table_size plus:

    • grootte van indexen

Deze functies zijn vergelijkbaar met drie van de standaardFuncties voor PostgreSQL-objectgrootte, behalve als ze geen verbinding kunnen maken met een knooppunt, worden deze fout weergegeven.

Opmerking

U kunt als volgt een lijst weergeven van de grootten van alle gedistribueerde tabellen:

SELECT logicalrelid AS name,
       pg_size_pretty(citus_table_size(logicalrelid)) AS size
  FROM pg_dist_partition;

Uitvoer:

┌───────────────┬───────┐
│     name      │ size  │
├───────────────┼───────┤
│ github_users  │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘

Volgende stappen